本文主要在Docker Hub上上传自己的镜像,可以按照以下步骤进行操作:
目录
1.登录到Docker账户
2.本地创建/封装自己的镜像
3.服务器登录Docker Hub账户
4.将自己的镜像打标签
5.将自己的镜像推送到 docker hub
6. 升级仓库新镜像
1.登录到Docker账户
官网:Docker Hub
首先,确保已经安装了Docker并且登录到Docker账户。如果没有账户,需要注册一个新的账户。
(我用github直接登录的)
2.本地创建/封装自己的镜像
如果不会可参考【】
构建好自己的镜像后,使用
docker build -t <image_name>:<tag>
命令来创建一个本地标记为 <image_name>
的镜像。其中 :
表示版本号或者标签名称,.
表示当前目录。例如我的docker build --no-cache -t tts:v0.1 -f ./Dockerfile .
3.服务器登录Docker Hub账户
网页上,我用github直接登录的,输入正确的用户名和密码。
创建一个新仓库Create repository -》输入仓库名Repository Name -》 创建Create
服务器登录
docker login
命令来登录到Docker Hub账户,输入正确的用户名和密码。
(我用github直接登录的,用户名不是邮箱,而是这个名称 -> insanena414,密码为github密码)
4.将自己的镜像打标签
然后,使用
docker tag <local_image_id> dockerhub_username/repository_name:tag
命令将本地镜像重新打上标签,这里的 dockerhub_username
是Docker Hub用户名,repository_name
是想要存放该镜像的仓库名称,tag
则是希望设置的标签(可选)。
例如我的:docker tag tts_v1.0:latest insanena414/tts_v1
运行后不会出现任何标志~
5.将自己的镜像推送到 docker hub
最后,通过运行
docker push dockerhub_username/repository_name:tag
我的:docker push insanena414/tts_v1
命令将镜像推送到Docker Hub。等待上传完成后,就能在Docker Hub上看到镜像了。
上传完成
就可以找到公共镜像啦
6. 升级仓库新镜像
如果是在原本生成的镜像上,经过操作后添加了一点新的库,也可以通过创建新的镜像,以此避免拉去原来的镜像再进行额外操作。
首先合并创建新镜像
语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
实例
假如想要合并的环境是名为a的容器,查看容器ID命令
docker ps
确认好容器ID后(假设ID是859d9754c715 ),
docker commit 859d9754c715 insanena414/tts_v1:v2
docker image
创建同一个仓库第二个版本时,登录->镜像打标签->push,命令如下:
docker login
docker tag 74bb847a6d59 insanena414/tts_v1:v2
docker push insanena414/tts_v1:v2
7.遇到的错误及解决
[PS1]Error response from daemon: manifest for image not found: manifest unknown: manifest unknown
错误原因,写错docker命令
在上传镜像是,将push写成pull!改正就对啦~