1、 Docker虛擬化鏡像製作實戰一 1)Docker commit可以實現容器提交為新的鏡像,提交的鏡像自動進入當前系統的鏡像列表(容器|鏡像內容是完整的); docker commit 7ec01484db55 centos7:v1 docker images 2)Docker export可 ...
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\nphpinfo();\n?>">/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\nexport CLASSPATH=$CLASSPATH:$JAVA_HOME/li b:$JAVA_HOME/jre/lib\nPATH=$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