zoukankan      html  css  js  c++  java
  • Docker学习之docker-compose

    docker-compose 安装

    1.Mac/Windows:

    安装docker的时候附带安装了。
    

    2.Linux:

    curl https://github.com/docker/compose

    Linux 安装docker-compose

    curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s )-$(uname -m) > /usr/local/bin/docker-compose
    
    直接将对应平台的程序下载到本地输出成为文件,#手动设置具体值,可到github查询最新版本号
    
    uname -s
    uname -m
    查看系统版本信息
    
    chmod a+x  目录  :linux 所有人都可以执行这个文件,给权限的意识
    
    最后,
    docker-compose --version 查看是否安装成功
    
    #### docker-compose实战
    ![](https://img2018.cnblogs.com/blog/1158417/201901/1158417-20190120154243988-827249705.png)
    三层:nginx层、逻辑层、数据层
    
    ![](https://img2018.cnblogs.com/blog/1158417/201901/1158417-20190120154347068-1853415769.png)
    
    

    为应用创建一个目录
    mkdir ghost
    cd ghost
    为三个层分别创建目录
    mkdir ghost
    mkdir nginx
    mkdir data

    cd ghost
    touch Dockerfile
    vi Dockerfile
    内容:
    FROM ghost
    COPY ./config.js /var/lib/ghost/config.js
    EXPOSE 2368
    CMD ["npm","start","--production"]

    cp ../../backup/ghost/ghost/config.js

    #### 同样的,构建nginx
    

    cd ..
    cd nginx
    touch Dockerfile
    vi Dockerfile
    内容:
    FROM nginx
    COPY nginx.conf /etc/niginx/nginx.conf
    EXPOSE 80

    touch nginx.conf
    vi nginx.conf
    内容:
    woker_processes 4;
    events {woker_connections 1024}
    http {
    server {
    listen 80;
    location / {
    proxy_pass http://ghost-app:2368;
    }
    }
    }

    #### 创建docker-compose.yml
    

    在ghost路径下
    touch docker-compose.yml
    vi docker-comopose.yml
    内容:
    version: '2'

    networks:
    ghost:

    services:
    ghost-app:
    build: ghost
    networks:
    - ghost
    depends_on:
    - db
    ports:
    - "2368:2368"

    nginx:
        build: nginx
        networks:
            - ghost
        depends_on:
            - ghost-app
        ports:
            - "80:80"
    db:
        image: "mysql :5.7.15"
        networks:
            - ghost
        enviroment:
            MYSQL_ROOT_PASSWORD: mysqlroot
            MYSQL_USER: ghost
            MSYQL_PASSWORD: ghost
        volumes:
            - $PWD/data:/var/lib/mysql
        ports:
            - "3306:3306"
    
    ![](https://img2018.cnblogs.com/blog/1158417/201901/1158417-20190120161816447-798945050.png)
    
    #### 让docker-compose 拉起来
    

    第一次生产镜像
    docker-compose up -d

    停止
    docker-compose stop
    干掉停止的
    docker-compose rm

    在已存在镜像的情况下,重新build
    docker-compose build

    然后
    docker-compose up -d

    成功启动一个多容器app
    访问:localhost:80
    访问:localhost:80/ghost

    #### docker-compose 常用命令
    ![](https://img2018.cnblogs.com/blog/1158417/201901/1158417-20190120162936308-1118093758.png)
    ![](https://img2018.cnblogs.com/blog/1158417/201901/1158417-20190120162950633-332410580.png)
  • 相关阅读:
    物联网解决方案
    热门研究方向
    LC滤波器简单设计法
    LC滤波电路分析,LC滤波电路原理及其时间常数的计算
    ams1117资料汇总
    杂项
    关于天线长度及LC值的计算
    稳压二极管、肖特基二极管、静电保护二极管、TVS管
    SPI、I2C、I2S、UART、GPIO、SDIO、CAN、JTAG的区别及使用方法。
    单片机串口通信电平不匹配的解决电路,5V 3.3V串口通讯
  • 原文地址:https://www.cnblogs.com/twodoge/p/10295324.html
Copyright © 2011-2022 走看看