本文主要在Docker Hub上上传自己的镜像,可以按照以下步骤进行操作:
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!改正就对啦~
版权归原作者 夏天|여름이다 所有, 如有侵权,请联系我们删除。