Docker學習之docker-compose

docker-compose 安裝

1.Mac/Windows:mysql

安裝docker的時候附帶安裝了。

2.Linux:linux

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

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 datagit

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

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

#### 一樣的,構建nginx

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

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

#### 建立docker-compose.yml

在ghost路徑下
touch docker-compose.yml
vi docker-comopose.yml
內容:
version: '2'app

networks:
ghost:curl

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 經常使用命令


相關文章
相關標籤/搜索