容器——docker-compose的安装及基本操作

本文详细介绍了如何在Linux上安装Docker Compose,包括下载、授权和验证版本,以及如何使用Docker Compose进行容器的高效管理,如启动、停止、构建image等,重点讲解了docker-compose.yml文件的编写和使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、Docker-compose安装(linux):

1、下载软件:

2、软件上传:

3、软件授权:

4、查看版本:

二、Docker-compose使用:

1、简介:

2、说明:

3、编写yml文件:

4、操作docker-compose:

(1)构建容器启动:

(2)后台构建容器启动:

(3)停止容器:

(4)启动容器:

(5)停止并移除容器:

(6)查看容器列表:

(7)查看镜像列表:

(8)进入到服务中:

(9)创建image:


一、Docker-compose安装(linux):

1、下载软件:

软件下载地址:https://github.com/docker/compose/releases

2、软件上传:

将下载的linux的docker-compse上传到服务器中的/usr/local/bin中并且将文件重命名为:docker-compose。

3、软件授权:

给刚刚上传的/usr/local/bin/docker-compose进行可执行授权:

执行命令:chmod +x /usr/local/bin/docker-compose

4、查看版本:

通过以上几个步骤就安装好docker-compose了,可以通过查看安装的版本检查docker-compose是否成功安装。

执行命令:docker-compose --version

二、Docker-compose使用:

1、简介:

前面我们使用Docker的时候,定义Dockerfile文件,然后使用docker build、docker run等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知

使用Docker Compose可以轻松、高效的管理容器,它是一个用于定义和运行多容器Docker的应用程序工具。这个工具可以通过一个yml文件(默认文件名为:docker-compose.yml)定义多容器的docker 应用,通过一条命令就可以根据yml文件的定义去创建或者管理多个容器。比如:启动、停止、删除等操作。

Docker-compose中使用到的镜像一些公共的镜像可能是由仓库中有的,比如:jdk等,但是像运行jar项目等这些是需要自定义镜像的,这个自定义镜像的时候就会用到dockerfile,通过dockerfile自定义jar等项目运行的镜像,然后在docker-compose中通过dockerfile构建的镜像生成对应的容器,从而实现对容器的管理。

docker-compose.yml文件中定义了三大概念:

Services:一个service代表一个容器,这个容器可以是从docker hub的image中创建,或者从本地的dockerfile的build出来的image中来创建的。并且每个service的启动类似docker run,可以给service指定在networks和volumes中创建的对应参数的参数引用。总之,通过docker run可以给容器设置的参数都可以在docker-compose中进行设置。

Networks:

Volumes:

Docker-compose也是随着docker发展而不断发展的,也是有版本的,推荐使用现在的最新版本3.0。Docker-compose.yml文件版本与docker版本关系如下:

https://docs.docker.com/compose/compose-file/

说明:2.0与3.0版本最大差别就是2.0版本的docker-compose中包含的多个容器只能在同一个单机linux服务器中进行部署,而3.0版本的docker-compose中包含的多个容器默认也是部署在同一个单机linux服务器中,但是可以通过配置然后在多个不同的linux服务器中进行部署。

2、说明:

说明一下,docker-compose是一个用于本地开发部署的一个工具,在本地开发后可以通过docker-compose可以快速的在本地进行查看最新开发的部署结果,并不是用来部署生产环境的一个工具。

3、编写yml文件:

主要是利用docker-compose对应的语法,编写一个yml文件,该文件中定义多若干个容器,基本包括:使用哪个镜像、指定端口映射、指定目录(卷)映射、指定网络、指定环境变量等,通过这样一个yml可以清晰的看出容器的信息,最终通过docker-compose的命令操作yml文件,完成对容器的构建、管理功能。

例如:

version: '3.4'

services:

  eureka:

    image: "eureka:1.0"

    build:

      context: ./

      dockerfile: graph-docker-file

      target: eureka-server

    container_name: eureka-server-1.0

    restart: always

    environment:

      EUREKA_IP: "192.168.137.114"

      EUREKA_PORT: "8761"

    ports:

      - "8761:8761"

    volumes:

      - "/wocloud/soft/graph/eureka/tmp:/tmp"

  config:

    image: "config:1.0"

    build:

      context: ./

      dockerfile: graph-docker-file

      target: config-server

    container_name: config-server-1.0

    restart: always

    environment:

      EUREKA_IP: "192.168.137.114"

      EUREKA_PORT: "8761"

    depends_on:

      - eureka

    ports:

      - "8001:8001"

    volumes:

      - "/wocloud/soft/graph/config/tmp:/tmp"

  data-management:

    image: "data-management:1.0"

    build:

      context: ./

      dockerfile: graph-docker-file

      target: data-management

    container_name: data-management-1.0

    restart: always

    environment:

      EUREKA_IP: "192.168.137.114"

      EUREKA_PORT: "8761"

    depends_on:

      - eureka

      - config

    ports:

      - "9092:9092"

    volumes:

      - "/wocloud/soft/graph/data-management/tmp:/tmp"

      - "/wocloud/soft/graph/data-management/graphdb_file:/home/graphdb/file"

4、操作docker-compose:

(1)构建容器启动:

命令:docker-compose up

说明:该命令会在当前文件夹中默认找docker-compose.yml文件进行启动,如果自己的yml文件名称不是这个,那就通过-f参数指定yml文件。例如:

docker-compose -f docker-my-compose.yml up

(2)后台构建容器启动:

命令:docker-compose up -d

说明:通过-d参数可以实现后台启动,看不到启动打印的日志信息。该命令会在当前文件夹中默认找docker-compose.yml文件进行启动,如果自己的yml文件名称不是这个,那就通过-f参数指定yml文件。

(3)停止容器:

命令:docker-compose stop

说明:只是停掉docker-compose中定义的容器,但是容器不会删除。该命令会在当前文件夹中默认找docker-compose.yml文件进行启动,如果自己的yml文件名称不是这个,那就通过-f参数指定yml文件。

(4)启动容器:

命令:docker-compose start

说明:将docker-compose中定义的容器启动起来,如果没有容器使用该命令会提示错误,需要用up进行构建启动才正确。该命令会在当前文件夹中默认找docker-compose.yml文件进行启动,如果自己的yml文件名称不是这个,那就通过-f参数指定yml文件。

(5)停止并移除容器:

命令:docker-compose down

说明:不仅停掉docker-compose中定义的容器,还会删除容器、network、volume。该命令会在当前文件夹中默认找docker-compose.yml文件进行启动,如果自己的yml文件名称不是这个,那就通过-f参数指定yml文件。

(6)查看容器列表:

命令:docker-compose ps

说明:该命令会在当前文件夹中默认找docker-compose.yml文件进行启动,如果自己的yml文件名称不是这个,那就通过-f参数指定yml文件。

(7)查看镜像列表:

命令:docker-compose images

说明:通过该命令可以查看该docker-compose.yml文件中定义的镜像及其容器。该命令会在当前文件夹中默认找docker-compose.yml文件进行启动,如果自己的yml文件名称不是这个,那就通过-f参数指定yml文件。

(8)进入到服务中:

命令:docker-compose exec 服务名 bash

说明:通过该命令就可以进入到docker-compose.yml文件中对应定义的服务名的容器中去了。该命令会在当前文件夹中默认找docker-compose.yml文件进行启动,如果自己的yml文件名称不是这个,那就通过-f参数指定yml文件。

(9)创建image:

命令:docker-compose build

说明:通过该命令可以将docker-compose.yml文件中定义的通过本地dockerfile文件定义的image进行创建,然后再通过docker-compose up命令启动的时候会比较快点。另外如果dockerfile有变更后,也是先执行docker-compose build创建新镜像,然后再通过docker-compose up进行启动。该命令会在当前文件夹中默认找docker-compose.yml文件进行启动,如果自己的yml文件名称不是这个,那就通过-f参数指定yml文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值