将容器提交为镜像

基本格式:

docker commit 容器id\容器名 新的镜像名字:版本

一、手动制作镜像

1.启动一个容器

docker run -it -d -p 1022:22 centos:6.9

2.安装服务

登入容器
yum install httpd openssh-server nginx -y
vi /init.sh
#!/bin/bash
/etc/init.d/httpd start
/usr/sbin/sshd -D

3.将容器提交为镜像

docker commit 容器id\名字 新名字:版本

二、dockerfile自动构建镜像

dockerfile主要组成部分

FROM 这个镜像的妈妈是谁?(指定基础镜像) 
MAINTAINER 告诉别人,谁负责养它?(指定维护者信息,可以没有)
LABLE 描述,标签 
RUN 你想让它干啥(在命令前面加上RUN即可) 
ADD 给它点创业资金(会自动解压tar) 制作docker基础的系统镜像 
WORKDIR 我是cd,今天刚化了妆(设置当前工作目录) 
VOLUME 给它一个存放行李的地方(设置卷,挂载主机目录) 
EXPOSE 它要打开的门是啥(指定对外的端口)(-P 随机端口) 
CMD 奔跑吧,兄弟!(指定容器启动后的要干的事情)(容易被替换) 
dockerfile其他指令: 
COPY 复制文件(不会解压)rootfs.tar.gz 
ENV 环境变量 
ENTRYPOINT 容器启动后执行的命令(无法被替换,启容器的时候指定的命令,会被当成参数)

自动构建可道云镜像

cat dockerfile
FROM  centos:6.9
RUN  curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
RUN  curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
RUN  yum install php-fpm php-mbstring php-gd nginx unzip -y
WORKDIR  /opt/
RUN  curl -o kodexplorer4.40.zip  http://192.168.12.201/docker_image/kodexplorer4.40.zip
RUN  unzip kodexplorer4.40.zip
RUN  chown -R nginx.nginx .
ADD  nginx.conf /etc/nginx/nginx.conf
ADD  www.conf /etc/php-fpm.d/www.conf
ADD  init.sh /init.sh
CMD  ["/bin/bash","/init.sh"]
cat init.sh
#!/bin/bash

service php-fpm restart

nginx -g 'daemon off;'
cat nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        root    /opt;
        index   index.php index.html index.htm;
        location / {
        }
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /opt$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}
php配置文件把属主属组更改为nginx
配置文件此处略(太长了)

5.生成

docker build -t 容器名:版本 .

你可能感兴趣的:(将容器提交为镜像)