Docker Compose 安装与使用(常用指令)

一、简介

image.png

  • Docker Compose 是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建、启动和停止。使用步骤:
    1. 利用 Dockerfile 定义运行环境镜像
    2. 使用 docker-compose.yml 家义组成应用的各服务
    3. 运行 docker-compose up 启动应用
    

二、安装与使用

  • 除了在 Linux 上安装 docker 时,不会自动安装 docker-compose,其他平台(windowmac)都会自动安装好 docker-compose

  • 安装好 docker 后,可以通过下面命令检查是否顺带安装好了 docker-compose,没有安装好,可以按 官网的方式进行安装,然后检查是否安装成功。

    $ docker-compose -v
    
  • 创建一个工作目录

    $ mkdir ~/docker-compose
    $ cd ~/docker-compose
    
  • 编写 docker-compose.yml 文件,文件名固定写法。在 yml 语法中 - 表示数组写法,可以多个。

    // 版本
    version: '1'
    // 服务
    services:
        // 服务名称(也就是容器名称)
        nginx:
            // 镜像
            image: nginx:2.0
            ports:
                // 端口映射
                - 80:80
            // 关联的容器(也就是可以访问的容器)
            links:
                // 关联容器名称
                - app
            // 目录映射
            volumes:
                - ./nginx/conf.d:/etc/nginx/conf.d
                -  ....可以多个
    
        // 服务名称(也就是容器名称)
        app:
            image: app
            // 对外暴露的端口
            expose:
                - "8080"
    
  • 创建 ./nginx/conf.d 目录,然后建一个 nginx 配置文件

    # 创建配置文件夹
    $ mkdir -p ./nginx/conf.d
    
    # 进入配置文件夹
    $ cd ./nginx/conf.d
    
    # 新建 nginx 配置文件,名字无所谓,主要是后缀
    $ vim mynginx.conf
    
  • mynginx.conf 内容

    server {
        listen: 80;
        access_log off;
        location / {
            # app 位置就是 links 里面存在容器名称加上容器暴露的端口
            proxy_pass http://app:8080
        }
    }
    
  • 然后回到 ~/docker-compose 目录启动容器,启动后通过 http://IP地址 访问

    $ cd ~/docker-compose
    
    # 启动容器
    $ docker-compose up
    

三、常用指令

  • 启动和停止服务

    # 启动项目中的服务
    $ docker-compose up
    
    # 启动项目中的服务并设置组名称(默认使用当前文件夹名称,单个容器使用的是 --name 设置名称)
    # 组名称也就是项目名称 -p;--project xxx
    $ docker-compose -p myproject up
    
    # 启动服务并在后台运行
    $ docker-compose up -d
    
    # 停止服务
    $ docker-compose stop
    
  • 构建和重构服务

    # 构建服务的镜像
    $ docker-compose build
    
    # 如果服务镜像不存在,则构建镜像并启动服务
    $ docker-compose up –build
    
    # 重构服务
    $ docker-compose up –force-recreate
    
  • 查看服务信息

    # 查看项目中所有服务的信息
    $ docker-compose ps
    
    # 查看容器的日志
    $ docker-compose logs
    
    # 在服务镜像的容器中执行命令
    $ docker-compose exec service_name command
    
  • 删除服务

    # 停止所有容器后,删除所有服务容器
    $ docker-compose down
    
    # 停止所有容器后,删除所有服务容器与对应的数据卷
    $ docker-compose down -v 
    
    # 删除所有停止后的服务容器
    $ docker-compose rm --stop
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Docker是一种容器化技术,可以在不同的操作系统上运行应用程序。Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。 以下是一些常用DockerDocker Compose命令: ### Docker - `docker run`: 运行一个Docker容器。 - `docker ps`: 列出正在运行的Docker容器。 - `docker images`: 列出所有本地镜像。 - `docker build`: 使用Dockerfile构建一个Docker镜像。 - `docker push`: 将本地镜像上传到Docker Hub或其他Docker镜像仓库。 - `docker pull`: 从Docker Hub或其他Docker镜像仓库中下载一个镜像。 - `docker rm`: 删除一个或多个Docker容器。 - `docker rmi`: 删除一个或多个本地Docker镜像。 ### Docker Compose - `docker-compose up`: 构建并启动一个Docker Compose应用。 - `docker-compose down`: 停止并删除一个Docker Compose应用。 - `docker-compose ps`: 列出正在运行的Docker Compose服务。 - `docker-compose logs`: 查看一个Docker Compose服务的日志。 - `docker-compose exec`: 在一个Docker Compose服务中执行一个命令。 - `docker-compose build`: 构建一个Docker Compose服务的镜像。 - `docker-compose pull`: 下载一个Docker Compose服务的镜像。 ### Docker Compose配置文件 Docker Compose使用YAML格式的配置文件来定义多容器Docker应用程序。以下是一个示例配置文件: ``` version: '3' services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine" ``` - `version`: 定义配置文件使用Docker Compose版本。 - `services`: 包含一个或多个Docker容器服务的列表。 - `build`: 构建一个Docker镜像。 - `image`: 使用现有的Docker镜像。 - `ports`: 映射容器端口到主机端口。在此示例中,容器的5000端口将映射到主机的5000端口。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

卡尔特斯

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

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

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

打赏作者

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

抵扣说明:

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

余额充值