Docker Compose常用命令
时间:2024-04-11 20:25:27 来源:网络cs 作者:康由 栏目:卖家故事 阅读:
阅读本书更多章节>>>>
常用命令
1.1 restart, start, stop-- 启动和停止服务
命令必须在 docker-compose.yml文件所在的目录下执行。
# 前台启动, 启动项目中的所有服务。$. docker-compose up# 后台启动, 启动所有服务并在后台运行。 $. docker-compose up -d# 停止所有服务。$. docker-compose stop restartdocker-compose restart重启服务容器。docker-compose restart # 重启工程中所有服务的容器docker-compose restart nginx # 重启工程中指定服务的容器startdocker-compose start启动服务容器。docker-compose start # 启动工程中所有服务的容器docker-compose start nginx # 启动工程中指定服务的容器stopdocker-compose stop停止服务容器。docker-compose stop # 停止工程中所有服务的容器docker-compose stop nginx # 停止工程中指定服务的容器
1.2 build -- 构建和重构服务
# 构建服务的镜像docker-compose build# 如果服务镜像不存在,则构建镜像并启动服务。docker-compose up –build# 重构服务。docker-compose up --force-recreate
1.3 ps, logs -- 查看服务信息
# 查看项目中所有服务的信息。docker-compose ps# 查看容器的日志。docker-compose logs# 在服务镜像的容器中执行命令。docker-compose exec service_name command
1.4 down -- 删除所有容器
# 删除服务容器(容器)docker-compose down
1.5 logs命令
# docker-compose logs 查看服务容器的输出日志。# 默认情况下,docker-compose将对不同的服务输出使用不同的颜色来区分。# 可以通过--no-color来关闭颜色。# 输出日志,不同的服务输出使用不同的颜色来区分docker-compose logs# 跟踪日志输出docker-compose logs -f# 关闭颜色docker-compose logs --no-color# 查看日志docker-compose logs web # 参考 1.9 docker-compose.yml 文件内容
1.6 run命令 -- 在指定容器上执行命令
rundocker-compose run 在指定服务容器上执行一个命令。docker-compose run nginx echo "helloworld" # 在工程中指定服务的容器上执行 echo "helloworld"
1.7 exec命令 -- 进入指定容器
execdocker-compose exec进入服务容器。docker-compose exec nginx bash # 进入工程中指定服务的容器docker-compose exec --index=1 nginx bash # 当一个服务拥有多个容器时,可通过 --index 参数进入到该服务下的任何容器sudo docker-compose exec jobmanager ./bin/sql-client.sh -f sql/flink_kafka1.sqlsudo docker-compose exec jobmanager ./bin/flink listsudo docker logs -f -t --since="2023-05-08" --tail=200 flink_taskmanager_1sudo docker-compose logs -f taskmanagersudo docker-compose exec jobmanager bashsudo docker-compose exec jobmanager ./bin/flink cancel 8d8cc94d73f7bd0c4cdc557264553a04
1.8 pause, unpause命令 -- 暂停, 恢复服务容器
pausedocker-compose pause暂停服务容器docker-compose pause # 暂停工程中所有服务的容器docker-compose pause nginx # 暂停工程中指定服务的容器unpausedocker-compose unpause恢复服务容器。docker-compose unpause # 恢复工程中所有服务的容器docker-compose unpause nginx # 恢复工程中指定服务的容器
1.9 scale 命令 -- 扩容缩容
docker-compose scale taskmanager=5docker-compose up --scale web=5 -d# -------------------------------------------- # # docker-compose.yml内容:version: '3'services: web: build: . networks: - app-net redis: image: "redis:alpine" networks: - app-netnetworks: app-net: driver: bridge
1.20 ps命令 -- 查看容器列表
docker-compose ps
1.21 stop 指定容器
docker-compose stop jobmanagerdocker-compose stop taskmanager
1.22 删除容器
docker-compose rm -f jobmanagerdocker-compose rm -f taskmanager
2. 示例说明
2.1 示例一
假设有一个项目,包含了一个nginx服务和一个web服务,运行在不同的容器内。nginx作为反向代理服务器将流量转发到web服务器上。
在项目根目录下,创建一个 docker-compose.yml文件,并填写如下内容:
version: '3'services: nginx: image: nginx ports: - 80:80 web: build: ./web ports: - 5000:5000
其中,nginx服务直接使用官方的nginx镜像,将其映射到宿主机的80端口,web服务则是使用当前目录下的web子目录中的Dockerfile构建出镜像,将其映射到宿主机的5000端口上。
通过执行docker-compose up命令来启动服务:
$. docker-compose up -dCreating network "web_default" with the default driverCreating web_1 ...Creating nginx_1 ...
此时,nginx服务和web服务已经在后台运行了。
如果需要停止服务,可以执行docker-compose stop命令:
$. docker-compose stopStopping nginx_1 ... doneStopping web_1 ... done
如果需要重构服务,需要在docker-compose.yml文件所在的目录下执行docker-compose up –force-recreate命令:
$ docker-compose up --force-recreateRecreating web_1 ...Recreating nginx_1 ...
2.2 示例二
假设需要在一台服务器上运行两份相同的应用,但它们需要监听不同的端口,并需要以不同的环境变量进行配置。可以通过 Docker Compose来实现。
首先,创建一个项目目录,在该目录下创建 docker-compose.yml文件,并填写如下内容:
version: '3'services: app1: image: myapp environment: PORT: 3000 MESSAGE: "Hello from app1" ports: - 8001:3000 app2: image: myapp environment: PORT: 4000 MESSAGE: "Hello from app2" ports: - 8002:4000
其中,定义了两个服务app1和app2,它们都是使用myapp镜像构建,
app1服务监听3000端口,在宿主机上映射到8001端口,配置了环境变量PORT和MESSAGE;app2服务监听4000端口,在宿主机上映射到8002端口,配置了不同的PORT和MESSAGE。在项目所在目录下执行docker-compose up -d命令来启动服务,然后使用浏览器访问localhost:8001和localhost:8002来访问不同的应用。
如果需要重构服务,需要在docker-compose.yml文件所在的目录下执行docker-compose up –force-recreate命令。
阅读本书更多章节>>>>本文链接:https://www.kjpai.cn/gushi/2024-04-11/157279.html,文章来源:网络cs,作者:康由,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
下一篇:返回列表