构建自定义docker镜像,上传至docker hub

时间:2022-12-14 14:30:25

docker 优势 (外部参考)

Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后
发布到任何流行的Linux机器上,便可以实现虚拟化。Docker改变了虚拟化的方
式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是
Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。

安装docker(请参考外部链接)

[Ubuntu Docker 安装](http://www.runoob.com/docker/ubuntu-docker-install.html)
[CentOS Docker 安装](http://www.runoob.com/docker/centos-docker-install.html)
[Windows Docker 安装](http://www.runoob.com/docker/windows-docker-install.html)
[MacOS Docker 安装](http://www.runoob.com/docker/macos-docker-install.html)

本次构建自定义docker镜像流程

我们可以通过以下两种方式对镜像进行更改。
* 从已经创建的容器中更新镜像,并且提交这个镜像(本次使用)
* 使用 Dockerfile 指令来创建一个新的镜像(新手不推荐)

1.下载官方centos镜像(本次已centos做实例)

构建自定义docker镜像,上传至docker hub

2.运行这个容器 docker run -i -t centos /bin/bash[见图1]

    参数说明
* -t:在新容器内指定一个伪终端或终端。
* -i:允许你对容器内的标准输入 (STDIN) 进行交互。

3.提交一个 docker commit -m="richard server" -a="zhuzhida" b3a4179ec677 richard/centos:v1 [见图1]

各个参数说明:
-m:提交的描述信息
-a:指定镜像作者
b3a4179ec677:容器ID
richard/centos:v1:指定要创建的目标镜像名

图1

构建自定义docker镜像,上传至docker hub

4.进入自己定义的镜像中安装自己所需 相应软件

    安装nginx教程 https://www.cnblogs.com/liujuncm5/p/6713784.html
安装 MongoDB 。。。等软件
安装完成后 ctrl+ d 退出伪终端
将容器转化为镜像 执行命令 `docker commit -m="added nginx+mongdb+git+node" -a="zhuzhida" ca5ca7798a24 richard/centos:v4`
ca5ca7798a24 为 docker ps -a 中的伪终端 值

构建自定义docker镜像,上传至docker hub构建自定义docker镜像,上传至docker hub

5.提交到docker hub

    在docker hub 上创建 账号密码 并创建仓库 [见图5]
给镜像打标签 镜像打标签后才可以进行push [见图6]
`docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]` 登录 `docker login` push 镜像 [见图6]

图5 在docker hub 上创建 账号密码 并创建仓库

构建自定义docker镜像,上传至docker hub 图6 给镜像打标签,登录上传 构建自定义docker镜像,上传至docker hub

6.登录docker hub 发现已经上传成功

构建自定义docker镜像,上传至docker hub

下篇 在服务器上安装 docker hub 中的私有镜像

参考文章

https://www.jianshu.com/p/dd364b59b774 https://www.jianshu.com/p/fb237c7eb48c https://blog.csdn.net/Prepared/article/details/68940997?locationNum=10&fps=1