7.dockerfile自动构建docker镜像
2020-04-23 16:01:32来源:博客园 阅读 ()
7.dockerfile自动构建docker镜像
目录
- 1.手动docker镜像的缺点
- 2.dockerfile常用指令
- 3.dockerfile实战1
- 3.1.手动制作docker镜像步骤
- 3.1.1.启动容器安装软件服务
- 3.1.2.将安装好服务的容器commit提交为镜像
- 3.1.3.启动新容器来测试新提交的镜像
- 3.2.dockerfile制作docker镜像步骤
- 3.2.1.编写dockerfile
- 3.2.2.docker build构建镜像
- 3.2.3.启动新容器来测试新构建的镜像
- 3.1.手动制作docker镜像步骤
- 4.dockerfile实战2
- 4.1.手动制作支持ssh-http双服务的docker镜像
- 4.1.1.启动容器安装软件服务
- 4.1.2.将安装好服务的容器commit提交为镜像
- 4.1.3.启动新容器来测试新提交的镜像
- 4.2.dockerfile制作docker镜像步骤
- 4.2.1.编写dockerfile
- 4.2.2.docker build构建镜像
- 4.2.3.启动新容器来测试新提交的镜像
- 4.1.手动制作支持ssh-http双服务的docker镜像
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
原文链接:https://www.cnblogs.com/yanyanqaq/p/12758298.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:6.手动制作docker镜像
- Linux系统如何设置开机自动运行脚本? 2020-06-11
- Nginx + Docker 多阶段构建的部署学习 2020-05-25
- 企业私有网络构建运维 2020-05-14
- 自动化运维工具Ansible之LNMP实践环境部署 2020-05-11
- 应用系统分布式构建运维 2020-05-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash