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"

扫描二维码关注公众号,回复: 4997027 查看本文章
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 常用命令


猜你喜欢

转载自www.cnblogs.com/twodoge/p/10295324.html