linux怎么查看本机内存大小
305
2022-10-23
#yyds干货盘点#--dockerfile自动构建docker镜像
一、手动构建docke镜像的缺点
相对于手动制作的docker镜像,使用dockerfile构建的镜像有以下优点:
1:dockerfile只有几kb,便于传输
2:使用dockerfile构建出来的镜像,在运行容器的时候,不用指定容器的初始命令
3:支持更多的自定义操作
二、dockerfile常用指令语法
dockerfile常用指令:
FROM 这个镜像的妈妈是谁?(指定基础镜像) MAINTAINER 告诉别人,谁负责养它?(指定维护者信息,可以没有) RUN 你想让它干啥(在命令前面加上RUN即可) ADD 一个复制命令将本地文件复制到容器中,tar类型文件会自动解压。可以访问网络资源,类似wget WORKDIR 我是cd,今天刚化了妆(设置当前工作目录)(进入容器后的目录) VOLUME 给它一个存放行李的地方(设置卷,挂载主机目录) EXPOSE 它要打开的门是啥(指定对外的端口)(-P 随机端口映射的端口) CMD 奔跑吧,兄弟!(指定容器启动后的要干的事情)(容易被替换)
dockerfile其他指令:
COPY 复制命令,功能类似ADD,但是不会自动解压文件,也不能访问网络资源 ENV 环境变量 可以传环境变量如:docker run --env "passwd=654321" -d -p 2254:22 centos6-ssh:v3 ENTRYPOINT 容器启动后执行的命令(无法被替换,启容器的时候指定的命令,会被当成参数
三、dockerfile实战1
手动制作docker镜像步骤:
启动容器安装软件服务 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 ###### 将安装好服务的容器commit提交为镜像 docker commit oldboy centos6-ssh:v1 启动新容器来测试新提交的镜像 docker run -d -p 2022:22 centos6-ssh:v1 /usr/sbin/sshd -D
dockerfile制作docker镜像步骤:
编写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"] docker build构建镜像 docker build -t centos6-ssh:v2 . 启动新容器来测试新构建的镜像 docker run -d -p 1322:22 centos6-ssh:v2
四、dockerfile实战2
手动制作支持ssh-http双服务的docker镜像
启动容器安装软件服务 docker run -it --name oldgirl centos:6.9 yum install -y yum install openssh-server -y /etc/init.d/sshd start echo 123456|passwd --stdin root 编写容器启动脚本 vi /init.sh #!/bin/bash /etc/init.d/start /usr/sbin/sshd -D 将安装好服务的容器commit提交为镜像 docker commit oldgirl centos6-ssh-httpd:v1 启动新容器来测试新提交的镜像 docker run -d -p 8080:80 -p 1122:22 centos6-ssh-/bin/bash /init.sh dockerfile制作docker镜像步骤: 编写dockerfile FROM centos:6.9 RUN yum install openssh-server -y RUN /etc/init.d/sshd start RUN echo 123456|passwd --stdin root ADD init.sh /init.sh CMD ["/bin/bash","/init.sh"] 编写容器启动脚本 vim /init.sh #!/bin/bash /etc/init.d/start /usr/sbin/sshd -D docker build构建镜像 docker build -t centos6-ssh-httpd:v2 启动新容器来测试新提交的镜像 docker run -d -p 8080:80 -p 2122:22 centos6-ssh-需要的环境:
==++制作docker镜像步骤,先手动,再自动++==
httpd+php或者nginx+php php所需模块:未知 基础镜像:centos:6.9 项目下载地址: 手动制作kodexplorer镜像
yum install php php-cli php-gd php-mbstring unzip -y cd /var/www/html/ curl -O http://static.kodcloud.com/update/download/kodexplorer4.40.zip unzip kodexplorer4.40.zip chmod -R 777 /var/www/html/ /etc/init.d/ start
5.3 编写dockerfile自动构建
[root@docker1 ~]# vim dockerfile FROM centos:6.9 RUN yum install php php-cli php-gd php-mbstring unzip -y WORKDIR /var/www/html RUN /etc/init.d/ start COPY kodexplorer4.40.zip . RUN unzip kodexplorer4.40.zip RUN chmod -R 777 /var/www/html/ ADD init.sh /init.sh EXPOSE 80 CMD ["/bin/bash","/init.sh"]
[root@docker1 ~]# vim init.sh #!/bin/bash /etc/init.d/start tail -F /aa ~
自动构建
docker build -t kod:v1 .
[root@docker1 ~]# ls anaconda-ks.cfg dockerfile init.sh kodexplorer4.40.zip
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~