docker-compose入门级实战教程

🌟🌌 欢迎来到知识与创意的殿堂 — 远见阁小民的世界!🚀
🌟🧭 在这里,我们一起探索技术的奥秘,一起在知识的海洋中遨游。
🌟🧭 在这里,每个错误都是成长的阶梯,每条建议都是前进的动力。
🌟🧭 在这里,我们一起成长,一起进步,让我们在知识的世界里畅游无阻,共同创造一个充满智慧和创新的明天。
🌟📚 点击关注,加入我们的技术探索之旅吧!❤️📖✨
✨博客主页:远见阁小民的主页
📕本文专栏:后端专栏
📕其他专栏:AI专栏 Python专栏 其他专栏 白帽学徒笔记
Linux专栏

1、简介

   Docker Compose是一个用来定义和运行复杂应用的Docker工具。

   一个使用Docker容器的应用,通常由多个容器组成。 使用Docker Compose不再需要使用shell脚本来启动容器。

   Compose通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动、停止和重启应用,非常适合组合使用多个容器进行开发的场景。

2、Compose和Docker兼容性

在这里插入图片描述
   安装docker和docker-compose方法将不在这里说明
   docker-compose安装参考官方文档:Docker Compose官网 操作即可。
   下面就如何使用docker-compose容器编排技术快速安装mysql和nginx做一下简单说明,新手可以作为入门学习模板参考使用。

3、编写docker-compose.yml文件

version: "3"
services:
  mysql8:
    image: mysql:8
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_unicode_ci
      --lower_case_table_names=1
      --sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
    restart: always
    privileged: true
    environment:
      - MYSQL_ROOT_HOST=%
      - MYSQL_ROOT_PASSWORD=fenglm@123
      - MYSQL_DATABASE=fenglmdb
      - MYSQL_USER=fenglm
      - MYSQL_PASSWORD=fenglm.123
    ports:
      - '3306:3306'
    volumes:
      - ./data/mysql:/var/lib/mysql
  nginx:
    restart: always
    image: nginx
    ports:
      - 80:80
      - 443:443
    volumes:
      - /opt/fenglm/nginx/html:/usr/share/nginx/html
      - /opt/fenglm/nginx/www:/var/www
      - /opt/fenglm/nginx/logs:/var/log/nginx
      - /opt/fenglm/nginx/nginx.conf/:/etc/nginx/nginx.conf
      - /opt/fenglm/nginx/etc/cert:/etc/nginx/cert
      - /opt/fenglm/nginx/conf.d:/etc/nginx/conf.d
    environment:
      - NGINX_PORT=80
    privileged: true

3.1 新建目录

 服务器中新建目录/opt/fenglm/

3.2 拷贝docker-compose.yml文件

将编写好的docker-compose.yml文件拷贝到/opt/fenglm/目录下

3.3 执行命令

docker-compose up -d

3.4 设置别名方法如下

可以给docker-compose配置个别名如dc,这样命令就不用写那么长了

vim /root/.bashrc

在这里插入图片描述

3.5 加载配置,使其立即生效

source /root/.bashrc

3.6 这样命令就可以简写了,如下所示

dc up -d

3.7 查看安装结果

在这里插入图片描述

4、常用命令参考

4.1 查看nginx容器的全部打印日志

dc logs -f nginx

4.2 查看nginx容器最后100条的打印日志

dc logs -f --tail 100 nginx

4.3 其他命令参考

1. docker-compose up
  用途: 创建并启动 docker-compose.yml 文件中定义的所有服务。
  示例: docker-compose up
常用选项:
  -d 或 --detach: 以后台模式运行容器。
  --build: 在启动之前强制重新构建服务镜像。
  --force-recreate: 强制重新创建容器,即使配置或镜像没有变化。
2. docker-compose down
  用途: 停止并删除 docker-compose.yml 文件中定义的所有服务容器、网络和卷(除非有指定 -v 选项)。
  示例: docker-compose down
常用选项:
  -v 或 --volumes: 删除与服务相关的卷。
  --rmi all: 删除所有服务的镜像。
3. docker-compose build
  用途: 根据 docker-compose.yml 文件构建服务镜像。
  示例: docker-compose build
常用选项:
  --no-cache: 构建时不使用缓存。
  --force-rm: 删除中间容器。
4. docker-compose start
  用途: 启动已经存在但停止的容器。
  示例: docker-compose start
5. docker-compose stop
  用途: 停止运行中的服务容器。
  示例: docker-compose stop
6. docker-compose restart
  用途: 重新启动服务容器。
  示例: docker-compose restart
7. docker-compose ps
  用途: 列出当前项目中所有服务的容器状态。
  示例: docker-compose ps
8. docker-compose logs
  用途: 查看服务容器的日志。
  示例: docker-compose logs
常用选项:
  -f 或 --follow: 实时跟踪日志输出。
  --tail NUMBER: 仅显示最后 NUMBER 行日志。
9. docker-compose exec
  用途: 在运行的容器内执行命令。
  示例: docker-compose exec web bash(在 web 服务容器中打开一个 bash 终端)
10. docker-compose run
  用途: 运行一个一次性命令(临时容器),与 exec 不同的是它会创建一个新的容器来运行命令。
  示例: docker-compose run web bash
常用选项:
  --rm: 容器退出后自动删除。
11. docker-compose pull
  用途: 拉取 docker-compose.yml 文件中定义的服务镜像。
  示例: docker-compose pull
12. docker-compose config
  用途: 校验和显示 Compose 文件的有效配置。
  示例: docker-compose config
常用选项:
  --services: 只列出服务名称。
  --volumes: 只列出卷。
13. docker-compose scale
  用途: 设置某个服务的容器副本数量。
  示例: docker-compose scale web=3(将 web 服务的副本数量设置为 3)
  注意: 在 Docker Compose v3 版本及更高版本中被弃用,推荐使用 docker-compose up --scale 选项代替。
14. docker-compose rm
  用途: 删除停止的服务容器。
  示例: docker-compose rm
常用选项:
  -f 或 --force: 强制删除,不提示确认。
  -v: 删除容器关联的卷。
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

远见阁

你的鼓励就是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值