Docker compose部署

Compose常用字段

字段

描述

build dockerfile context

指定Dockerfile文件名

image

指定镜像

container name

指定容器名称,由于容器名称唯一的特性,如果自定义名称,则无法scale

deploy

指定部署和运行环境的相关配置,只能在Swarm模式中使用

environment

添加环境变量

network

加入指定的网络

ports

指定暴露的端口, 类似于-p但端口不能低于60

volumes

挂载宿主机路径或命令卷

restart

重启策略,默认no(挂了就挂了),always(挂了立即拉起),no-failure,unless-stoped

hostname

容器主机名

Compose常用命令

字段

描述

build

重写构建服务

ps

列出容器

up

创建和启动容器

exec

在容器里执行命令

scale

指定一个服务容器启动数量

top

显示容器进程

logs

查看容器输出

down

删除容器、网络、数据卷、和镜像

stop/start/restart

停止,启动,重启

compose实例

搭建nginx且配置ssl认证

目标数据结构

编辑yml文件: vim /root/compose_nginx/docker-compose.yml

version : '3'

services :

  nginx :

    hostname : nginx

    build :

      context : ./nginx

      dockerfile : Dockerfile

    ports:

      - 2288:80

      - 2299:443

    networks:

      - cluster

    volumes:

      - ./wwwroot:/usr/local/nginx/html

networks:

  cluster:

构建网页文件:echo "this is mogu web" > ./wwwroot/index.htm

构建nginx.conf文件

       server {

        listen       443 ssl;

        server_name  www.mogu.com;

        charset utf-8;

        access_log  logs/www.mogu.com.access.log;

        ssl_certificate     /home/nginx/zhengshu/server.crt;

        ssl_certificate_key  /usr/local/CA/local.key;

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  10m;

        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:DHE;

        ssl_prefer_server_ciphers  on;

        location / {

           root   html;

           index  index.html index.htm;

        }

    }

 

创建生成CA证书的存放路径并进入: mkdir -p /home/nginx/zhengshu        cd /home/nginx/zhengshu/

生成私钥:  openssl genrsa -des3 -out server.key 2048

查看私钥: openssl rsa -text -in server.key   或直接cat

 

删除私钥密码 :openssl rsa -in server.key -out server.key

 

生成CSR请求文件 : openssl req -new -key server.key -out server.csr

 

查看CSR文件内容 :openssl req -text -in server.csr

生成CA证书 :openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

 

将证书生成的CA文件和私钥文件全都位移到nginx目录下 :mv server.key /opt/nginx_compose/nginx  mv server.crt /opt/nginx_compose/nginx

创建Dockerfile文件并生成镜像 docker build -t nginx:ssssl

FROM centos:7

MAINTAINER this is nginx image <nginx>

RUN yum -y install openssl openssl-devel

RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make;useradd -M -s /sbin/nologin nginx

ADD nginx-1.12.2.tar.gz /usr/local/src/

WORKDIR /usr/local/src/nginx-1.12.2

RUN ./configure \

--prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--with-http_stub_status_module \

--with-http_ssl_module;make -j 4 && make install

ENV PATH /usr/local/nginx/sbin:$PATH

ADD nginx.conf /usr/local/nginx/conf/

ADD server.crt  /home/nginx/zhengshu/server.crt

ADD server.key  /home/nginx/zhengshu/server.key

RUN chmod 777 -R /usr/local/nginx/html/

EXPOSE 80

EXPOSE 443

VOLUME [ "/usr/local/nginx/html/" ]

CMD [ "/usr/local/nginx/sbin/nginx","-g","daemon off;" ]

启动镜像指定为主机模式(绝对不是我想偷懒)docker run -d nginx:ssssl

访问结果

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值