当前位置:首页 > 站长知识 > 服务器 > 正文内容

Linux如何安装Docker-Compose

2024-12-02服务器39

Docker-Compose安装

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

备注:安装完成之后此时会提示权限不足,需要增加执行权限

增加Docker-Compose权限

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

Linux安装docker-compose编排工具并启动

Docker Compose是什么

  • Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。

  • Docker-Compose的工程配置文件默认为docker-compose.yml,可通过环境变量COMPOSE_FILE或-f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。

  • Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。

  • Docker-Compose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API, 就可以在其上利用Compose来进行编排管理。

安装

先查看是否有没有docker(并没有发现安装docker)

开始安装docker

1. 先创建demon.json

  • 创建文件夹:mkdir /etc/docker

  • 跳转:cd /etc/docker

  • 修改damon.json的内容:vim /etc/docker/daemon.json

1
2
3
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}

2.安装docker

需要安装两个包

  • docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm

  • docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm

两个包放在word里面了

把两个包放入到/home下面

然后进入安装:

  • 输入:yum install docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm

  • 输入:yum install docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm

  • 查看docker服务:systemctl status docker

  • 设置开启自启docker服务:systemctl enable docker

  • 启动docker服务:systemctl start docker

  • 查看命令:docker version

3.安装docker-compose编排工具

  • 下载:docker-compose-Linux-x86_64

  • 创建:docker-compose.yml

  • 拷贝docker-compose-Linux-x86_64到/usr/local/bin/并改名:mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

  • 添加权限:chmod +x /usr/local/bin/docker-compose

  • 查看版本:docker-compose -v

4.安装mysql,pgsql,oracle,sqlserver

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
version: '3'
services:
  mysql:
    restart: always
    image: mysql:8.0.26
    container_name: mysqld
    volumes:
      - /home/mysql/logs:/logs
      - /home/mysql/datadir:/var/lib/mysql
      - /home/mysql/conf:/etc/mysql/conf.d
      - /home/mysql/my.cnf:/etc/mysql/my.cnf
      # 数据库还原目录 可将需要还原的sql文件放在这里
      - /home/mysql/source:/docker-entrypoint-initdb.d
    environment:
      - "MYSQL_ROOT_PASSWORD=123456"
      - "TZ=Asia/Shanghai"
    command:
      --default-authentication-plugin=mysql_native_password
      --lower_case_table_names=1
    ports:
      # 使用宿主机的3306端口映射到容器的3306端口
      # 宿主机:容器
      - 13306:3306
    networks:
      Energynetwork:
        ipv4_address: 192.168.1.10
  postgresql:
    restart: always
    image: postgres:12
    container_name: pg_base
    privileged: true
    volumes:
      - ./pgsql/datadir:/var/lib/postgresql/data
    environment:
      - PGDATA=/var/lib/postgresql/data/pgdata
      - POSTGRES_PASSWORD=Aa12345678
      - POSTGRES_DB=inventory
      - TZ=Asia/Shanghai
    ports:
      - 5432:5432
  sqlserver:
    image: mcr.microsoft.com/mssql/server:latest
    container_name: sqlserver
    ports:
      - 1433:1433
    volumes:
      - ./mssql:/var/opt/mssql
      - /etc/localtime:/etc/localtime
    restart: always
    environment:
      #接受最终用户许可协议
      - ACCEPT_EULA=Y
      #SA用户密码
      - SA_PASSWORD=Aa123456@
  oracle:
    restart: always
    image: registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest
    container_name: oracle_base
    privileged: true
    volumes:
      - /etc/localtime:/etc/localtime
      - ./oracle/data:/opt/oracle/oradata
    environment:
      - TZ=Asia/Shanghai
      - ORACLE_SID=XE
      - ORACLE_PDB=system
      - ORACLE_PWD=oracle
    ports:
      - 1521:1521
   
   
networks:
  Energynetwork:
    driver: bridge
    ipam:
      config:
        - subnet: "192.168.1.0/24"

5.启动docker-compose

  • 启动:docker-compose up -d

  • 停止:docker-compose down