本篇内容来源于官方文档:docker docs/Get started/Part 4: Share the application
在上一篇博客中我们修改应用程序并重新进行了构建镜像,那么如何将镜像共享给他人呢?我们可以在Docker hub上注册账号,并发布镜像。
创建一个存储库
-
在完成账号的注册后,我们点击顶部导航栏的
Repositories
一项,点击Create repository
按钮
-
输入你的存储库名称后,我们便可以通过下述命令来上传我们的镜像
docker push <账号名>/<存储库名>:<tagname>
上传镜像
-
我们首先要在Docker Desktop客户端上或者命令行中登录我们的账户
docker login # or docker login -u <your-username>
在此处我遇到了反复登录不上的情况,可以试试查看这篇文章解决,Error saving credentials: error storing credentials - err: exit status 1
·
省流版本:删除本机中C:\Users\[用户名]\.docker\config.json
文件,再次尝试登录成功,出现Login Succeeded
。 -
给镜像重命名
现在我们就可以将任意镜像上传到我们的存储库中了,为了规范化镜像名称,我们先对镜像进行重命名。(这里为了方便演示,我们采用的是之前教程1:Windows客户端和软件安装中的hello-world
镜像)docker tag hello-world <your-username>/hello-world # 更改镜像名称 docker images # 查看当前镜像,是否命名成功
-
推送镜像至我们创建好的仓储库中
docker push <your-username>/hello-world
-
在仓储库中查看我们推送的镜像
在新机器上运行你的镜像
那么你的镜像就已经成功上传至你的仓储库中,我们可以通过官方的Play with Docker创建一个虚拟机来运行你刚发布的镜像
-
点击左侧的
ADD NEW INSTANCE
来创建实例
-
拉取你发布的镜像并运行,可以看我们发布的镜像被成功运行输出了
docker run -it <your-username>/hello-world
相关操作命令
接下来让我们回顾一些本篇教程学习到的命令及相关操作代码
docker login -u <your-username>
# 登录Docker账户
docker tag <old-tagname> <new-tagname>
# 给镜像重命名
docker push <your-username>/<repository-name>:<tag-name>
# 推送镜像至你的仓储库中
docker pull <image-name>
# 从Docker-hub中拉取镜像
docker run <image-name>
# 从镜像中创建并运行新容器
docker ps
# 查看当前运行中的容器
docker rm <container-id>
# 删除指定id的容器
docker start/stop <container-id>
# 启动/停止指定id的容器
docker images
# 查看镜像列表
docker rmi <image-id>
# 删除指定id的镜像
docker volume ls
# 查看volume列表
docker network ls
# 查看网络列表