飞天使-docker知识点12-docker-compose
2023-12-17 22:55:46
docker-compose
部署有依赖问题
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它允许您使用简单的 YAML 文件来配置应用程序的服务、网络和存储等方面,并且可以通过一条命令来启动、停止和管理整个应用程序。
以下是 Docker Compose 的一些基本概念:
服务(Services):服务是应用程序的不同组件,例如数据库、Web 服务器等。每个服务在 Docker Compose 文件中被定义为一个独立的部分,并指定所需的镜像、端口映射、环境变量等配置。
容器(Containers):每个服务都会创建一个或多个容器来运行。容器是 Docker 中的实例化进程,每个容器都是相互隔离的运行环境。
网络(Networks):Docker Compose 允许您定义自己的网络,以便服务可以相互通信。默认情况下,Compose 会创建一个默认网络,但您也可以创建自定义网络来满足特定的需求。
卷(Volumes):卷是用于持久化数据的目录或文件。Compose 可以帮助您创建和管理卷,以便数据可以在不同的容器之间共享和保留。
使用 Docker Compose,您可以根据需要定义和配置多个服务,然后使用简单的命令来管理它们的生命周期。这使得部署和管理复杂的多容器应用程序变得更加简单和可靠。
命令
down #停止和删除所有容器、网络、镜像和卷
#events #从容器接收实时事件,可以指定 json 日志格式,如
docker-compose events --json
#exec #进入指定容器进行操作
help #显示帮助细信息
#images #显示当前服务器的 docker 镜像信息
kill #强制终止运行中的容器
logs #查看容器的日志
#pause #暂停服务
#port #查看端口
# docker-compose port --protocol=tcp nginx 80
ps #列出容器
pull #重新拉取镜像
#push #上传镜像
#restart #重启服务
rm #删除已经停止的服务
run #一次性运行容器,等于 docker run --rm
scale #设置指定服务运行的容器个数
docker-compose scale nginx=2
start #启动服务
stop #停止服务
top #显示容器运行状态
unpause #取消暂定
up #创建并启动容器
version #显示 docker-compose 版本信
启动单个容器
docker-compose up -d #不加是 d 前台启动
重启容器
# docker-compose stop
# docker-compose up –d
停止和启动容器
# docker-compose stop service-tomcat-app1
# docker-compose start service-tomcat-app1
停止和启动所有容器
# docker-compose stop
# docker-compose start
演示一个简单示范
首先,在您的项目目录中创建一个名为 docker-compose.yml 的文件。
在 docker-compose.yml 文件中,添加以下内容:
yaml
version: '3'
services:
nginx:
image: nginx:latest
ports:
- 80:80
在这个示例中,我们定义了一个服务 nginx,使用了最新版本的 Nginx 镜像,并将容器内部的 80 端口映射到主机的 80 端口。
保存并关闭 docker-compose.yml 文件。
打开终端或命令提示符,导航到包含 docker-compose.yml 文件的目录。
运行以下命令启动 Nginx 容器:
docker-compose up -d
这将会下载 Nginx 镜像(如果本地没有),创建并启动 Nginx 容器。
等待一段时间,直到容器成功启动。您可以使用以下命令查看容器状态:
docker ps
在输出中,您应该能够看到正在运行的 Nginx 容器。
文章来源:https://blog.csdn.net/startfefesfe/article/details/135047290
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!