本篇文章分享如何通过docker build命令来构建自己的镜像,开始吧~
查看已有镜像
docker images
采用centos镜像创建一个容器
docker run -it centos
假如需要安装vim
yum install vim
如遇报错,报错信息如下
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
解决方案为在镜像内
centos
cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
yum makecache
yum update -y
yum -y install vim
安装成功后显示如下
采用exit退出容器
exit
通过docker container ls -a查看所有容器
docker container ls -a
可见刚刚退出的容器
采用docker commit vigorous_golick yueyue/centos-vim将刚刚的容器打包成镜像,其中vigorous_golick为容器名,yueyue/centos-vim为新的镜像名
docker commit vigorous_golick yueyue/centos-vim
采用docker images可查看镜像,其中yueyue/centos-vim为刚刚构建的对象
docker images
通过docker history 768cf891aa3a可查看镜像的构建过程,其中768cf891aa3a为镜像id
docker history 768cf891aa3a
以上方法一般不提倡使用,因为当把该镜像发布出去以后,别人会不知道镜像里面有哪些内容,因此更推荐使用buil一个Dockerfile的方法,开始吧~
首先删掉刚刚的镜像docker image rm 768cf891aa3a
docker image rm 768cf891aa3a
接着创建一个目录,并进入该目录
mkdir docker-centos-vim
cd docker-centos-vim
在该目录下,新建一个Dockerfile
vim Dockerfile
其内容如下
FROM centos
RUN yum install -y vim
保存退出
采用docker build -t yueyue/centos-vim-new .进行构建镜像
docker build -t yueyue/centos-vim-new .
如果有报错,如下
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
The command '/bin/sh -c yum install -y vim' returned a non-zero code: 1
则修改Dockerfile的内容
FROM centos
RUN cd /etc/yum.repos.d/
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
RUN yum makecache && yum update -y && yum -y install vim
保存退出后
通过docker build -t yueyue/centos-vim-new .构建镜像
docker build -t yueyue/centos-vim-new .
可通过docker image ls查看
docker image ls