潍坊做网站建设的公司,wordpress 音乐站主题,wordpress100万数据,郑州网站建设rwxwldocker compose的用处是对 Docker 容器集群的快速编排。#xff08;源码#xff09;
一个 Dockerfile 可以定义一个单独的应用容器。但我们经常碰到需要多个容器相互配合来完成某项任务的情况#xff08;如实现一个 Web 项目#xff0c;需要服务器、数据库、redis等#…docker compose的用处是对 Docker 容器集群的快速编排。源码
一个 Dockerfile 可以定义一个单独的应用容器。但我们经常碰到需要多个容器相互配合来完成某项任务的情况如实现一个 Web 项目需要服务器、数据库、redis等Compose 刚好允许通过一个单独的 docker-compose.yml 文件来定义一组相关联的应用容器为一个项目project。
一、安装
安装完dockerdocker安装Ubuntu22后就已经完成了compose的安装了也可从Releases · docker/compose (github.com)仓库安装。
二、概念
服务 (service)一个应用的容器实际上可以包括若干运行相同镜像的容器实例。项目 (project)由一组关联的应用容器组成的一个完整业务单元在 docker-compose.yml 文件中定义。
Compose 的默认管理对象是项目通过子命令对项目中的一组容器进行便捷地生命周期管理。
Compose 项目实现上是调用了 Docker 服务提供的 API 来对容器进行管理。因此只要所操作的平台支持 Docker API就可以在其上利用 Compose 来进行编排管理。
三、应用举例
使用docker compose启动一个python服务器访问后可显示访问次数。
服务器源码对/路径建立路由访问后调用hello函数在redis中给hits的value1然后输出到网页
from flask import Flask
from redis import Redisapp Flask(__name__)
redis Redis(hostredis,port6379)app.route(/)
def hello():count redis.incr(hits)return Hello,已被访问{}次。\n.format(count)if __name__ __main__:app.run(host0.0.0.0,debugTrue)
Dockerfile
FROM python:3.6-alpine
ADD . /code
WORKDIR /code
RUN pip install redis flask
CMD [python, app.py]
docker-compose.yml
version: 3
services:web:build: .ports:- 5000:5000redis:image: redis:alpine
然后启动容器sudo docker compose up 即可启动项目访问5000端口 四、命令讲解
4.1docker compose up
docker compose up命令会构建镜像创建网络、卷并启动容器容器名称以项目名称目录名称为前缀以一个数子为后缀Docker Compose允许扩缩容创建的镜像、容器、网络和卷可直接使用docker命令进行查看。
参数 -fdocker-compose up会查找名为 docker-compose.yml 或 docker-compose.yaml 的 compose 文件或使用 -f 指定 compose 文件名。-d在后台启动应用。
4.2docker compose down
上述项目执行down后 过程
关闭服务。删除服务。注意容器和网络会被删除数据卷和镜像不会所以再次启动就能快很多
4.3docker compose ps
查看项目状态 显示容器名称、其中运行的Command、当前状态以及其监听的网络端口。
4.4docker compose top
列出各个服务容器内运行的进程。PID编号为在宿主机上的进程ID。 4.5docker compose stop
停止应用关闭服务不删除资源 4.6docker compose start
启动停止的应用。
4.7docker compose restart
重启应用。
4.8docker compose rm
删除已经停止的应用仅容器和网络。
五、docker-compose文件编写
建议查看Compose 模板文件 | Docker 从入门到实践
建议最好还是配合chatgpt进行编写直接手写可能每一步都会报问题(〃▽〃)