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)
  • 相关阅读:
    JQuery移除事件
    .NET经常调用的外部系统函数举例说明
    sql server日期时间转字符串
    关于无法打开微软网站的解决方法[转]
    Html5 第二章
    style、currentStyle、getComputedStyle区别介绍
    删除右键菜单中多余项
    css制作流程及标准
    CSS的选择器
    Mysql 函数集
  • 原文地址:https://www.cnblogs.com/twodoge/p/10295324.html
Copyright © 2011-2022 走看看