首页
学习
活动
专区
圈层
工具
发布

『中级篇』构建自己的Docker镜像(16)

构建自己的Docker镜像,push到https://hub.docker.com/。github源码:https://github.com/limingios/docker.git

Container 转成Image(不推荐)

  • 通过centos的image创建一个容器,修改容器内的内容
代码语言:javascript
复制
docker image ls
docker run -it centos
yum install -y vim
exit
  • 查看容器,并转换成Image,发现比原生的centos稍微大了点。建立新的image名称是liming/centos-vim
代码语言:javascript
复制
docker container ls -a
docker commit
docker commit 容器的名称  liming/centos-vim
docker image ls
  • 查看新的image的layer关系,新建立的image其实就是在centos的layer上边增加了一层。
代码语言:javascript
复制
docker history 容器ID
docker history centos的容器ID

上边这种发布Image的方式,其实不被提倡,不安全的,因为这种的可能性,发布出来一个不稳定的Image

docker build的方式也就是通过Dockfile的方式(推荐)

  • 先删除之前创建的Image 和container
代码语言:javascript
复制
docker image rm liming/centos-vim
docker image ls
docker container ls
docker container ls -a
docker container rm c5a14ab5c071
docker container ls -a
docker container ls
  • 创建Dockerfile
代码语言:javascript
复制
mkdir docker-centos-vim
 cd docker-centos-vim/
 vim Dockerfile
  • 编辑Dockerfile
代码语言:javascript
复制
FROM centos
RUN yum install -y vim
  • Dockerfile build
代码语言:javascript
复制
docker build -t liming/centos-vim-new .

PS:为啥推荐用Dockerfile的方式,因为文件可以随便编辑,如果你用容器的话,你发给别人如何发麻烦不?还是单文件方便吧。


下一篇
举报
领券