首页 > 其他 > 详细

Dockerfile 构建镜像

时间:2019-12-06 10:49:42      阅读:115      评论:0      收藏:0      [点我收藏+]

1、Dockerfile相关参数

FROM            构建新镜像是基于哪个镜像
LABEL           标签
RUN            构建镜像时运行的Shell命令
COPY            拷贝文件或目录到镜像中
ENV             设置环境变量
USER            为RUN、CMD和ENTRYPOINT执行命令指定运行用户
EXPOSE           声明容器运行的服务端口
WORKDIR          为RUN、CMD、ENTRYPOINT、COPY和ADD设置工作目录
ENTRYPOINT       运行容器时执行,如果有多个ENTRYPOINT指令,最后一个生效
CMD              运行容器时执行,如果有多个CMD指令,最后一个生效

1.1构建Nginx镜像

[root@k8s-node1 ~]# mkdir nginx
[root@k8s-node1 ~]# cd nginx/
[root@k8s-node1 nginx]# cat Dockerfile 
# 名称:容器化的Nginx
# 用途:Web服务
# 创建时间:2018.06.11
FROM centos
LABEL MAINTAINER q
RUN yum install epel-release -y
RUN yum install -y nginx
EXPOSE 80
WORKDIR /usr/local
CMD ["nginx", "-g", "daemon off;"]

 -t 指定名称  -f指定Dockerfile  . 在dockerfile 上下文,. 代表当前目录

[root@k8s-node1 nginx]# docker build -t  nginx:v1 -f Dockerfile .  

查看镜像

[root@k8s-node1 nginx]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
nginx                   v1                  4ab138f8031a        2 minutes ago       346MB

启动容器

[root@k8s-node1 nginx]# docker run -d -p 8887:80 nginx:v1
dc2e3f33171f49fb8ae9b9ddd21b1a0d1d46d33b37d31350b19e6cadef9e6be1

查看

[root@k8s-node1 nginx]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
dc2e3f33171f        nginx:v1            "nginx -g ‘daemon of…"   19 seconds ago      Up 18 seconds       0.0.0.0:8887->80/tcp   sad_hopper

访问

技术分享图片

2、构建PHP镜像

[root@k8s-node1 dockerfile]# cd php/
[root@k8s-node1 php]# ls
Dockerfile  php-5.6.36.tar.gz  php-fpm.conf  php.ini
[root@k8s-node1 php]# cat Dockerfile 
FROM centos:7
MAINTAINER www.ctnrs.com
RUN yum install epel-release -y &&     yum install -y gcc gcc-c++ make gd-devel libxml2-devel     libcurl-devel libjpeg-devel libpng-devel openssl-devel     libmcrypt-devel libxslt-devel libtidy-devel autoconf     iproute net-tools telnet wget curl &&     yum clean all &&     rm -rf /var/cache/yum/*

COPY php-5.6.36.tar.gz /
RUN tar zxf php-5.6.36.tar.gz &&     cd php-5.6.36 &&     ./configure --prefix=/usr/local/php     --with-config-file-path=/usr/local/php/etc     --enable-fpm --enable-opcache     --with-mysql --with-mysqli --with-pdo-mysql     --with-openssl --with-zlib --with-curl --with-gd     --with-jpeg-dir --with-png-dir --with-freetype-dir     --enable-mbstring --with-mcrypt --enable-hash &&     make -j 4 && make install &&     cp php.ini-production /usr/local/php/etc/php.ini &&     cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf &&     sed -i "90a \daemonize = no" /usr/local/php/etc/php-fpm.conf &&     mkdir /usr/local/php/log &&     cd / && rm -rf php* &&     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH $PATH:/usr/local/php/sbin
COPY php.ini /usr/local/php/etc/
COPY php-fpm.conf /usr/local/php/etc/
WORKDIR /usr/local/php
EXPOSE 9000
CMD ["php-fpm"]

 

Dockerfile 构建镜像

原文:https://www.cnblogs.com/w787815/p/11992999.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!