dockerfile制作详解1

Posted wutao1935

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dockerfile制作详解1相关的知识,希望对你有一定的参考价值。

1、    Docker虚拟化镜像制作实战一

1)Docker commit可以实现容器提交为新的镜像,提交的镜像自动进入当前系统的镜像列表(容器|镜像内容是完整的);

docker commit 7ec01484db55  centos7:v1

docker images

2)Docker export可以实现容器提交为新的镜像,提交的镜像不能自动进入当前系统的镜像列表,可以提交为新的tar文件;(镜像内容会丢失部分数据:当前正在运行中、内存中、环境变量、执行命令)

docker export 7ec01484db55 > centos7.tar

导入镜像的命令;

cat centos7.tar |docker import - centos7:v3

3)Docker save工具可以直接导出镜像为.tar文件,命令如下:(镜像内容是比较完整的)

docker save centos7:v1 -o centos7:v3.tar

可以通过docker load导入save保存的镜像;

docker load -i centos7_v3.tar

 

 

 

2、 Docker虚拟化镜像制作实战二

# 设置基本的镜像,后续命令都以这个镜像为基础

FROM docker.io/centos6:latest

# 作者信息

MAINTAINER  JFEDU.NET

# RUN命令会在上面指定的镜像里执行任何命令

RUN rpm --rebuilddb;yum install rpm-build -y

RUN rpm --rebuilddb;yum install httpd httpd-devel php php-devel php-mysql mysql-server mysql my

sql-devel -y

RUN echo -e "<?php
phpinfo();
?>">/var/www/html/index.php

RUN echo 1|passwd --stdin root

RUN cp /etc/skel/.bash* /root/

RUN mkdir -p /tmp/20501111

WORKDIR /root/

RUN su -

#暴露HTTP端口81

EXPOSE 80 3306 22

# 设定运行镜像时的默认命令:输出ip,并以daemon方式启动sshd

CMD service httpd start;service mysqld start;service sshd start;/bin/bash

 

3、    Docker虚拟化镜像制作实战三


FROM docker.io/lemonbar/centos6-ssh

MAINTAINER  JFEDU.NET

WORKDIR /root

RUN cp /etc/skel/.bash* /root/

RUN mkdir -p /usr/local/tomcat/ /usr/java/

ADD tomcat/ /usr/local/tomcat/

ADD edu.war /usr/local/tomcat/webapps/ROOT/

ADD jdk1.8.0_131.tar.gz /usr/java/

RUN rpm --rebuilddb;yum install tar gzip* bzip* wget -y

RUN echo -e export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=$CLASSPATH:$JAVA_HOME/li

b:$JAVA_HOME/jre/lib
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin >>/etc/profile

RUN source /etc/profile;cd /usr/local/tomcat/webapps/ROOT/;jar -xf edu.war

RUN echo 123456 | passwd --stdin root

EXPOSE  22 8080

# 设定运行镜像时的默认命令:输出ip,并以daemon方式启动sshd

#CMD /usr/local/tomcat/bin/startup.sh;/usr/sbin/sshd -D

CMD set -m;source /etc/profile;/usr/local/tomcat/bin/startup.sh;/usr/sbin/sshd -D

 

以上是关于dockerfile制作详解1的主要内容,如果未能解决你的问题,请参考以下文章

详解Dockerfile之实战项目

Dockerfile 指令详解

转:Dockerfile命令详解(超全版本)

Dockerfile命令详解(超全版本)

dockerfile文件创建镜像详解

Dockerfile详解