前言
本系列文章主要还是围绕k8s的持续集成,但是一下子直奔主题可能跨度有点大,所以中间会穿插一些基础的知识。本文重点梳理一下docker的进阶知识——Dockerfile与docker-compose。因为很多人可能跟我之前一样入门学过docker,但是可能也只是简单的接触,觉得命令烦琐就放弃了。其实,当你学完dockerfile和docker-compose后,我相信你对docker的命令烦琐这个误解就会自动解除,然后会慢慢喜欢上docker。
Dockerfile
什么是Dockerfile
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
案例
制作一个nginx镜像并修改其默认首页内容
在没有使用Dockerfile之前,我们完成如上需求,可能会这样:
-
下载一个nginx镜像
docker pull nginx
-
启动nginx容器
docker run --name mynginx -d -p 8888:80 nginx
-
先访问一下服务
curl http://localhost:8888
-
进入容器
docker exec -it `docker ps | grep mynginx | awk '{print $1}'` bash
-
修改index.html
echo "66666" > /usr/share/nginx/html/index.html
-
退出容器
exit
-
验证修改内容
curl http://localhost:8888
-
将容器创建成一个新的镜像
docker commit docker commit -a "mldong.com" -m "我的镜像" `docker ps | grep mynginx | awk '{print $1}'` mynginx:666
-
查看新的镜像
docker images |