7.dockerfile自动构建docker镜像
程序员文章站
2022-07-06 10:07:28
[TOC] 1.手动docker镜像的缺点 2.dockerfile常用指令 3.dockerfile实战1 3.1.手动制作docker镜像步骤 3.1.1.启动容器安装软件服务 3.1.2.将安装好服务的容器commit提交为镜像 3.1.3.启动新容器来测试新提交的镜像 3.2.dockerf ......
目录
1.手动docker镜像的缺点
相对于手动制作的docker镜像,使用dockerfile构建的镜像有以下优点: 1:dockerfile只有几kb,便于传输 2:使用dockerfile构建出来的镜像,在运行容器的时候,不用指定容器的初始命令 3:支持更多的自定义操作
2.dockerfile常用指令
dockerfile常用指令: from 这个镜像的妈妈是谁?(指定基础镜像) maintainer 告诉别人,谁负责养它?(指定维护者信息,可以没有) run 你想让它干啥(在命令前面加上run即可) add 给它点创业资金(copy文件,会自动解压) workdir 我是cd,今天刚化了妆(设置当前工作目录) volume 给它一个存放行李的地方(设置卷,挂载主机目录) expose 它要打开的门是啥(指定对外的端口)(-p 随机端口) cmd 奔跑吧,兄弟!(指定容器启动后的要干的事情)(容易被替换) dockerfile其他指令: copy 复制文件 env 环境变量 entrypoint 容器启动后执行的命令(无法被替换,启容器的时候指定的命令,会被当成参数)
3.dockerfile实战1
3.1.手动制作docker镜像步骤
3.1.1.启动容器安装软件服务
docker run -it -p 1022:22 --name oldboy centos:6.9 ###### yum install openssh-server -y /etc/init.d/sshd start echo 123456|passwd --stdin root ######
3.1.2.将安装好服务的容器commit提交为镜像
docker commit oldboy centos6-ssh:v1
3.1.3.启动新容器来测试新提交的镜像
docker run -d -p 2022:22 centos6-ssh:v1 /usr/sbin/sshd -d
3.2.dockerfile制作docker镜像步骤
3.2.1.编写dockerfile
vi dockerfile from centos:6.9 run yum install openssh-server -y run /etc/init.d/sshd start run echo 123456|passwd --stdin root cmd ["/usr/sbin/sshd","-d"]
3.2.2.docker build构建镜像
docker build -t centos6-ssh:v2 .
3.2.3.启动新容器来测试新构建的镜像
docker run -d -p 1322:22 centos6-ssh:v2
4.dockerfile实战2
4.1.手动制作支持ssh-http双服务的docker镜像
4.1.1.启动容器安装软件服务
docker run -it --name oldgirl centos:6.9 yum install httpd -y yum install openssh-server -y /etc/init.d/sshd start echo 123456|passwd --stdin root ###容器启动脚本 vi /init.sh #!/bin/bash /etc/init.d/httpd start /usr/sbin/sshd -d
4.1.2.将安装好服务的容器commit提交为镜像
docker commit oldgirl centos6-ssh-httpd:v1
4.1.3.启动新容器来测试新提交的镜像
docker run -d -p 8080:80 -p 1122:22 centos6-ssh-httpd:v1 /bin/bash /init.sh
4.2.dockerfile制作docker镜像步骤
4.2.1.编写dockerfile
vi dockerfile from centos:6.9 run yum install openssh-server httpd -y run /etc/init.d/sshd start run echo 123456|passwd --stdin root add init.sh /init.sh cmd [“/bin/bash",“/init.sh"] ###容器启动脚本 vi /init.sh #!/bin/bash /etc/init.d/httpd start /usr/sbin/sshd -d
4.2.2.docker build构建镜像
docker build -t centos6-ssh-httpd:v2
4.2.3.启动新容器来测试新提交的镜像
docker run -d -p 8080:80 -p 2122:22 centos6-ssh-httpd:v2
上一篇: ssh免密码登录
下一篇: 版本管理工具介绍—Git篇