docker-composer使用实践
2021/8/26 8:06:05
本文主要是介绍docker-composer使用实践,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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之间的链接是不对的。
检查:
- docker-compose.yaml
- 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看到发布的文章。
这篇关于docker-composer使用实践的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程
- 2024-11-04Docker环境部署资料:新手入门教程
- 2024-11-01Docker环境部署教程:新手入门指南
- 2024-11-01超越Docker:苹果芯片上的模拟、编排和虚拟化方案讲解
- 2024-11-01Docker环境部署:新手入门教程