Docker Compose
Docker Compose 是 Docker 的一个子项目,可以帮助用户定义和运行多容器 Docker 应用程序。使用 Docker Compose 可以更轻松地管理多个容器的应用程序,例如在本地或云平台上构建和部署微服务应用程序。
参考链接
https://zhuanlan.zhihu.com/p/620097083
1.安装 Docker Compose
在使用 Docker Compose 之前,您需要先安装 Docker 引擎。
然后,您可以通过以下步骤来安装 Docker Compose:
打开官方文档 Docker Compose Releases (https://github.com/docker/compose/releases)
找到适合您设备的版本并下载。
一般都是红框那个
下载后传到虚机一定要 改名字成docker-compose!!!
上传docker-compose到 /usr/local/bin/路径
赋予权限:chmod +x /usr/local/bin/docker-compose
验证是否成功安装docker-compose:docker-compose -v
2.编写 Compose 文件
Docker Compose 使用 YAML 文件来定义应用程序的组件和它们之间的联系。下面是一个使用 Docker Compose 启动 web 应用程序的样例文件:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
environment:
- NGINX_HOST=localhost
-
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=password
volumes:
- ./mysql:/var/lib/mysql
这个示例定义了两个服务:web和db。
在web服务中,使用了nginx镜像,将容器的80端口映射到主机的80端口,并将当前目录下的html文件夹挂载到容器的/usr/share/nginx/html目录下。同时,设置了NGINX_HOST环境变量为localhost。
在db服务中,使用了mysql镜像,设置了MYSQL_ROOT_PASSWORD环境变量为password,并将当前目录下的mysql文件夹挂载到容器的/var/lib/mysql目录下。
这样,通过Docker Compose可以轻松地启动和管理这两个服务的容器。
3.启动、停止、恢复服务
1.要启动 Compose 文件中定义的所有服务,在包含 Compose 文件的目录下执行以下命令:
docker-compose up
2.如果要在后台运行服务,请使用以下命令:
docker-compose up -d
3.要停止所有服务,请使用以下命令:
docker-compose stop
4.要重启所有服务,请使用以下命令:
docker-compose restart
5.要恢复已停止的服务,请使用以下命令:
docker-compose start
4.构建和升级服务
1.要构建 Compose 文件中定义的服务,请使用以下命令:
docker-compose build
2.如果您只需要构建某个服务,请使用以下命令:
docker-compose build <service_name>
3.要重新构建服务并强制重新生成镜像,请使用以下命令:
docker-compose up --build
4.要升级服务,请修改 Compose 文件中的版本或其他配置,然后使用以下命令重新构建和启动服务:
docker-compose up --force-recreate --build
请注意,这将删除并重新创建所有容器。
5.Docker Compose YAML 文件说明
Compose 文件使用 YAML 格式定义应用程序的组件、服务、网络和卷等。以下是 Compose 文件的一些常见选项:
常用配置 | 描述 |
---|---|
version | 指定 Compose 文件格式的版本。 |
services | 定义要启动的服务列表及每个服务的配置。 |
image | 指定要使用的 Docker 镜像名称,如果不存在,则自动从 Docker Hub 下载。 |
build | 指定 Dockerfile 的路径或 URL,用于构建自定义 Docker 镜像。 |
ports | 指定端口映射规则,将主机的端口映射到容器中的端口。 |
volumes | 指定挂载的卷目录,将主机的目录和容器中的目录进行映射。 |
除了上述选项外,还可以使用其他选项来定义网格、环境变量、命令、健康检查等。有关更详细的信息,请参阅 Docker Compose 的官方文档。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!