Docker笔记_构建自己的Image

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jt102605/article/details/86106840

一.通过改变原image的container,"commit"出一个新的image

docker container commit (docker commit)

实例:在原centos7 image 的基础上,通过"commit"方式来构建一个新的centos7 image (为centos7安装vim)

 1.进入装好docker的虚机

cd 创建虚机的目录
vagrant up
vagrant ssh

2.拉取centos7的镜像

docker run centos:7

注:若使用docker命令时报错"Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?",则是docker服务未开启造成的,需在虚机中开启docker服务

sudo systemctl start docker

3.查看本地拉取的镜像

docker images

4.交互式运行centos7的container,进入centos container

docker run -it centos

5.此时的centos image中是不包含vim的,我们在container中为其安装vim

yum install -y vim   //安装vim
vim                    //进入vim

6.装好vim后,退出container

exit

7.将装有vim的centos container 打包成一个image

docker commit containerName imageName:tag

8.查看image的历史信息

docker history imageName

二.通过Dockerfile,"build"一个新的image 

 Build an image from a Dockerfile,主要命令:

docker image build (docker build)

实例:在原centos7 image 的基础上,通过"build"方式来构建一个新的centos7 image (为centos7安装vim)

1.创建一个新的目录,存放Dockerfile

mkdir centos-vim-image
cd centos-vim-image

2.在该目录下编写Dockerfile

vim Dockerfile

//在vim中编写Dockerfile的内容
FROM centos:7
RUN yum install -y vim

3. 保存退出vim,由Dockerfile build处新的image

docker build -t newImaeName:tag .  //"."代表build的上下文环境为当前目录

注意:image本身是只读的,而这里我们却通过Dockerfile,为其写入了vim. 实际上,在build的过程中,在对image进行写入操作的时候,会先为其创建一个container,在container中进行写操作,然后commit操作后的container,从而生成新的image.

猜你喜欢

转载自blog.csdn.net/jt102605/article/details/86106840
今日推荐