• docker compose的安装和使用


    docker-copose 介绍

    • docker-compose 是一个容器编排工具(自动化部署、管理);

    • 它用来在单台 Linux 服务器上运行多个 Docker 容器;

    • docker-compose 使用YAML文件来配置所有需要运行的 Docker 容器,该 YAML 文件的默认名称为 docker-compose.yml

    对应的版本

    一般情况下,我们会安装docker,然后再来安装docker compose,但是要注意,安装docker完之后,要注意其版本,docker compose的版本要与其相对应。

    目前我们安装的docker版本是24.0.6

    查看版本介绍 

    Docker Compose release notes | Docker Docs

    可以用docker compose 2.19版本的,也可以用2.18的,但是2.19版本的至少需要docker24.0

     curl -L "https://github.com/docker/compose/releases/download/v2.19.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    unmae -s -m是查询服务器系统版本,该命令的作用,其实就是下载docker-compose的可执行环境,这里注意,因为需要连接github下载非常慢,所以也可以在连了外网的环境,先下载下来(Tags · docker/compose · GitHub),最后再放到提前准备的路径上。 

     

    上传到  /usr/local/bin

    移到对应的目录,同时改一下名字。

    mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose

    给文件可执行权限,建立软连接

    1. chmod +x /usr/local/bin/docker-compose
    2. ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

    查看是否安装成功

    docker-compose --version

    常用命令

    docker compose up -d

    -d表示后台启动,默认在docker-compose.yml的目录下执行

    docker compose  down

    down之后相当于把容器停止,并且docker rm 删除。

    示例:

    1. version: '3'
    2. services:
    3. nginx:
    4. image: nginx
    5. restart: always
    6. hostname: nginx
    7. container_name: nginx_compose
    8. privileged: true
    9. ports:
    10. - 8080:80
    11. volumes:
    12. - /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
    13. - /home/nginx/html/:/usr/share/nginx/html/
    14. - /home/nginx/logs/:/var/log/nginx/


    查看报错提示说/home/nginx/conf/nginx.conf是目录,原来是因为docker启动容器进行挂载的时候,如果路径不存在,那么docker会自动创建一个目录。所以在挂载的时候要注意文件的类型

     在Docker Compose中,使用docker-compose up命令可以启动一个或多个服务。您只需要在命令中指定要启动的服务名称即可,例如:

    docker-compose up nginx

    参考:

    安装docker compose_安装docker-compose-CSDN博客

  • 相关阅读:
    ESP8266-Arduino编程实例-红外接收
    2022-12-06 mysql-innodb引擎-核心数据结构
    数学术语之源——单射(injection),满射(surjection),双射(bijection)
    if和, && ||
    免费内网穿透?让外网能访问到自己的接口springboot,暴露自己的接口给外网
    Springboot整合ClickHouse
    C++之map_set的使用
    Spring Boot: Lombok 注解原理分析及实践
    Jackson ObjectMapper详解
    如何让Python2与Python3共存
  • 原文地址:https://blog.csdn.net/wjzholmes/article/details/133696648