栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker-compose部署容器

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker-compose部署容器

用docker-compose部署容器
    • 安装docker-compose
    • 编写docker-compose.yml文件
    • 根据docker-compose.yml文件部署镜像

安装docker-compose

查询docker版本号。

在host上执行。

sudo docker -v

根据查询到的版本号,在下列网站找到对应的docker-compose版本。

https://github.com/docker/compose/releases

指令安装只能安装到1.25.5版本。

执行下列命令,安装docker-compose。

docker-compose为单一可执行文件,将其放到/usr/local/bin中,给予文件执行权限即可使用。

当前使用的是1.25.5版本。

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

sudo chmod +x /usr/local/bin/docker-compose

或者通过下列网址下载:

https://github.com/docker/compose/releases

推荐在github上下载最新的后用mov指令放到指定文件夹中

编写docker-compose.yml文件

docker-compose.yml将通过配置的方式代替docker run冗长的参数。

docker-compose.yml

# 文件格式版本号
# 通过 https://docs.docker.com/compose/compose-file/ 网站获取对应文件格式版本
version: "3.8"

services:

  # 配置master容器的参数
  master:

    # 设定使用的镜像
    image: 1259337898/big_data:env

    # 设定端口映射
    ports:
      - "8088:8088" # web应用程序状态查看界面
      - "9000:9000" # HDFS文件系统端口
      - "50070:50070"

    # 设定挂载的卷共享,通过该设置,可以在host与容器之间共享数据
    volumes:
      - /home/wmx/Documents/hadoop/master/share:/root/share

    # 主机名
    hostname: master

    #容器名
    container_name: master

    # 依赖关系。如此设定后,master会在worker01与worker02启动之后再启动。
    # 通过定义依赖关系,可以自定义容器的启动顺序。
    # 无法循环依赖。
    links:
      - worker01
      - worker02

    # 设定让容器持续运行
    tty: true

    # 网络配置
    networks:

      #此为自定义网络的名称,自定义网络的配置在文件的末尾
      hadoop_network:

        # 为master分配静态ip
        # 目的是为了自动配置/etc/hosts
        ipv4_address: 172.19.0.3

    # 将worker01与worker02的静态ip加入/etc/hosts中。
    extra_hosts:
      - "worker01:172.19.0.4"
      - "worker02:172.19.0.5"

  # 配置worker01容器的参数
  worker01:
    image: 1259337898/big_data:env
    volumes:
      - /home/wmx/Documents/hadoop/worker01/share:/root/share
    ports:
      - "50071:50070"
    hostname: worker01
    container_name: worker01
    tty: true
    networks:
      hadoop_network:
        ipv4_address: 172.19.0.4
    extra_hosts:
      - "master:172.19.0.3"
      - "worker02:172.19.0.5"

  # 配置worker02容器的参数
  worker02:
    image: 1259337898/big_data:env
    ports:
      - "50072:50070"
    volumes:
      - /home/wmx/Documents/hadoop/worker02/share:/root/share
    hostname: worker02
    container_name: worker02
    tty: true
    networks:
      hadoop_network:
        ipv4_address: 172.19.0.5
    extra_hosts:
      - "master:172.19.0.3"
      - "worker01:172.19.0.4"

# 自定义网络配置
networks:
  hadoop_network:
    ipam:
      config:
        # 设定网关与掩码
        - subnet: 172.19.0.0/16
根据docker-compose.yml文件部署镜像

进入docker-compose.yml的目录。

sudo docker-compose up -d
如果配置文件名为其他要加参数-fsudo docker-compose -f 文件名 up -d

通过docker exec命令可以进入启动容器的交互界面。

sudo docker exec -it master bash

sudo docker exec -it worker01 bash

sudo docker exec -it worker02 bash

再次部署容器时,必须删除上一次部署的容器(container)与网络(network)。

在删除容器之前,需要先停止容器。

sudo docker stop
停止所有容器:
sudo docker stop $(sudo docker ps -aq)
删除所有容器:
sudo docker container purne

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853664.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号