docker仓库制作

1、

Docker虚拟化镜像制作实战一

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

2)Docker save工具可以直接导出镜像为.tar文件,命令如下:(镜像内容是比较完整的)
docker save centos7:v1 -o centos7:v3.tar
可以通过docker load导入save保存的镜像;
docker load -i centos7_v3.tar
docker仓库制作_第1张图片
docker仓库制作_第2张图片

2、 Docker虚拟化镜像制作实战二(生产常用这种)
先建立一个Dockerfile文件,然后写入以下内容:

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

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 "">/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

文件写入完后:

Docker build –t centos:ssh - < Dockerfile 再 docker images就有新的镜像了

可以用docker history 镜像名称:版本 进行查看封装了哪些东西

制作私有仓库(把网上的镜像下载到仓库这台机上,局域网其它再用镜像不用去网上下了,直接这台仓库下):

装好docker后先下仓库镜像:
Docker pull registry
Mkdir –p /data/registry
Docker run –itd –p 5000:5000 -v
/data/registry:/var/lib/registry docker.io/registry
完成后,就可以先在网上下载原始镜像源了,下好后传入刚才建立的私有仓库,以centos6为例:
Docker pull centos6
Docker tag centos6 ip:5000/centos6 //先改名

Docker push ip:5000/centos6
//ip为刚才建立的私有仓库那台机的IP,docker ps –a能看到

查看上传到私有仓库的镜像:
Curl –XGET http://ip/v1/centos6/tags/list
其它物理机如何使用:
先改配置文件,因为默认要用htts传输不然不支持传不了镜像:
Vim /etc/sysconfig/docker
加上仓库的IP地址和端口
docker仓库制作_第3张图片

重启docker服务

你可能感兴趣的:(linux,linux)