亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

docker-composer使用實踐

標簽:
Docker 容器

docker-composer使用实践

Dockerfile 可以让用户管理一个单独的应用容器;

Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联的应用容器(被称为一个 project,即项目)

例如一个 Web 服务容器再加上后端的数据库服务容器等

文件目录

ghost
  - ghost
    - Dockfile    
  - nginx
      - nginx.conf
      - Dockfile
  - data
  - docker-compose.yml

docker-composer.yaml格式

ghost-app:
    build:ghost
    depends_on:
        - db
    ports:
        - "2368:2368"
nginx:
     build:nginx
     ports:
         - "80:80"
     depends_on:
         - ghost-app
db:
    image: "mysql:5.7.15"

配置 ghost Dockerfile

FROM ghost
COPY ./config.js /var/lib/ghost/config.js
EXPOSE 2368
CMD ["npm", "start", "--production"]

config.js

nginx Dockerfile

FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80

nginx.conf

worker processes 4;
events {worker connections 1024;}
http {
    server {
        listen 80;
        location / {
            proxy pass http://ghost-app:2368;
        }
    }
}

ghost docker-compare.yaml

此处数据库相关的配置要和config.js中的配置保持一致。【注:db.volumes的值应该为:$PWD/data:/var/lib/mysql】

ghost目录:

#将所有容器启动,并以daemon的方式后台运行
docke-compose up -d
启动容器后浏览器访问localhost

显示502 Bad Gateway错误

表示nginx已经启动,但是nginx和ghost-app之间的链接是不对的。

检查:

  1. docker-compose.yaml
  2. nginx.conf
1.将已经启动的容器停掉
docker-compose stop
 
2.将已经停掉的容器删除掉
docker-compose rm
 
3.修改了nginx.conf之后需要重新构建镜像[第一次没有镜像,执行的时候回直接创建镜像,现在已经镜像了,所以需要重新构建]
docker-compose build 
 
4.使用镜像启动容器
docker-compose up -d
 
5.再次使用浏览器访问就成功了,表示使用docker-compose拉的三个容器已经启动,并且相互协作了
 
6.访问localhost/ghost/setup/one 进行配置

localhost/ghost/editor/ 写文章并发布,则可以在localhost看到发布的文章。

點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
154
獲贊與收藏
1427

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消