Docker学习之docker-compose

Posted twodoge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 常用命令

技术分享图片
技术分享图片

以上是关于Docker学习之docker-compose的主要内容,如果未能解决你的问题,请参考以下文章

【每天学一点】docker-compose中的deploy

Docker学习之Docker容器基本使用

docker学习之-什么是docker

Docker学习之仓库

docker学习之初识container

docker学习之介绍