Linux CentOS6.8 安装Docker-Compose

尽量换成CentOS7来运行docker

一、运行以下命令下载最新版本的Docker Compose

curl -L https://github.com/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

注意版本为1.5.2,最新版本在CentOS6.8上运行回报如下错误
docker-compose: /lib64/libc.so.6: version `GLIBC_2.14’ not found (required by /tmp/_MEIXH1zkM/libz.so.1)

二、对二进制文件应用赋予可执行权限

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

三、测试安装

$ docker-compose --version
docker-compose version 1.5.2, build 9e633ef

以下主要来自 CentOS6.x 安装 Docker 和 Docker Compose

四、Docker Compose版本问题

当运行 docker-compose build 的时候,就会提示我们的 Dcoker 版本太低要求升级 Docker。
当前docker版本为1.7.1,docker-compose版本为1.5.2

五、docker-compose.yml问题

V1 版本的 docker-compose.yml 只被支持到 docker-compose 1.6.x。再往后的 docker-compose 版本就不再支持 V1 版本的 docker-compose.yml。
需要改为V1
V1 版本的 docker-compose.yml 文件格式主要区别就是:

  • 没有开头的 version 声明
  • 没有 services 声明
  • 不支持 depends_on
  • 不支持命名的 volumes, networks, build arguments 声明
  • 其他我没用到的所以没细究的区别

来个例子比较直观吧!

V2 版本的 docker-compose.yml

version: "2"
services:
  redis:
    image: "redis:alpine"
    ports:
      - "6389:6379"
    volumes:
      - "./data/redis/data:/data"
  mysql:
    build: ./builds/mysql
    ports:
      - "3386:3306"
    volumes:
      - "./data/mysql/data:/var/lib/mysql"
      - "./data/mysql/conf:/etc/mysql/conf.d"
    restart: always   
    environment:
      MYSQL_DATABASE: solar
      MYSQL_USER: root
      MYSQL_PASSWORD: Huofigo2015
      MYSQL_ROOT_PASSWORD: Huofigo2015
  api:
    depends_on:
      - mysql
      - redis
    build:
      context: ./builds/api
    ports:
      - "8388:8080"
    volumes:
      - "./target/solar-app-0.0.1-SNAPSHOT.jar:/app/solar-app.jar"
    entrypoint:
      - "java"
      - "-jar"
      - "/app/solar-app.jar"
    restart: always
改成 V1 版本的 docker-compose.yml 后

redis:
 image: "redis:alpine"
 ports:
   - "6389:6379"
 volumes:
   - "./data/redis/data:/data"
mysql:
 build: ./builds/mysql
 ports:
   - "3386:3306"
 volumes:
   - "./data/mysql/data:/var/lib/mysql"
   - "./data/mysql/conf:/etc/mysql/conf.d"
 restart: always
 environment:
   MYSQL_DATABASE: solar
   MYSQL_USER: root
   MYSQL_PASSWORD: Huofigo2015
   MYSQL_ROOT_PASSWORD: Huofigo2015
api:
 build: ./builds/api
 ports:
   - "8388:8080"
 volumes:
   - "./target/solar-app-0.0.1-SNAPSHOT.jar:/app/solar-app.jar"
 links:
   - mysql
   - redis
 entrypoint:
   - "java"
   - "-jar"
   - "/app/solar-app.jar"
 restart: always
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐