标签:use make module 基础 变量 figure docke user pull
1.1、创建目录,用于存放dockerfile
[root@node2 ~]# mkdir /app
[root@node2 ~]# cd /app/
#用于以后存放web服务器的目录
[root@node2 app]# mkdir web/nginx -p && cd web/nginx
1.2、构建Dockerfile文件
#构建之前我们先pull个镜像下来,等会基于这个镜像做nginx镜像
[root@node2 ~]# docker pull centos:7.6.1810
#构建的时候,不知道怎么写,或者命令不记得可以参考hub.docker.com上别人写好的
---
ADD命令和COPY命令都可以往容器加东西,但是ADD会自动解压.tar.gz安装包,COPY原封不动拷贝过去
Dockerfile 是分步执行的当你build前面5步,后面再添加新的命令,前面的会有记录,不会重新执行!
---
1.3、build:
[root@node2 nginx]# vim Dockerfile
# Base images 基础镜像
FROM centos:7.6.1810
#作者名称
LABEL maintainer="tzh <362777279@qq.com>"
#执行下面命令,安装基础环境
RUN yum install -y pcre-devel wget net-tools gcc zlib zlib-devel make openssl-devel vim
#添加nginx到容器里
ADD nginx-1.10.1.tar.gz /usr/local/src/
#编译安装
RUN cd /usr/local/src/nginx-1.10.1 && ./configure --prefix=/app/nginx --user=nginx --group=nginx --with-http_s
tub_status_module && make && make install
#全局变量设置
ENV aaa 123456
#做软链接
RUN ln -s /app/nginx/sbin/* /usr/local/sbin/
RUN useradd nginx
#暴露端口
EXPOSE 80 443 22
#运行这个镜像,默认执行的命令,有多个CMD时,只有最后一个有效,前面的会被覆盖
CMD ["nginx", "-g", "daemon off;"]
------当前目录,以及文件------
[root@node2 nginx]# pwd
/app/web/nginx
[root@node2 nginx]# ls
Dockerfile nginx-1.10.1.tar.gz
[root@node2 nginx]# docker build -t nginx:v2 .
*
*
*
Successfully built b044c844052b
Successfully tagged nginx:v2
[root@node2 nginx]# vim Dockerfile
FROM centos:7.6.1810
#显示这个就成功了
#可以进去看看
[root@node2 nginx]# docker run --rm -it nginx:v3 bash
#启动容器看看是否成功命令:CMD ["nginx", "-g", "daemon off;"]
#能进去说明可以了
[root@node2 nginx]# docker run -it nginx:v4 bash
标签:use make module 基础 变量 figure docke user pull
原文地址:https://www.cnblogs.com/hsyw/p/13636629.html