docker-compose应用

一、问题
每次发版本到hub上,我都要进入服务器停止容器,删除容器,删除镜像,pull镜像,启动容器,敲命令非常麻烦。如果服务器的docker容器多的话,都要发布。那么部署就是一件非常头痛的事情了。所以需要docker-compose来解决这个问题。
二、环境
java编写jdk1.8的程序。需要用docker部署方式部署到服务器。其中docker安装用yum非常容易,所以此文章进行省略

二、docker-compose安装
1、安装 EPEL源

yum install -y epel-release
yum install gcc
yum install gcc-c++

2、安装pip

yum install -y python-pip

3、安装python-devel.x86_64

yum install python-devel

4、安装docker-compose

pip install docker-compose

5、验证安装docker-compose

docker-compose -version

6、如果验证报如下错误

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 5, in 
    from compose.cli.main import main
  File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 23, in 
    from ..bundle import get_image_digests
  File "/usr/lib/python2.7/site-packages/compose/bundle.py", line 12, in 
    from .config.serialize import denormalize_config
  File "/usr/lib/python2.7/site-packages/compose/config/__init__.py", line 6, in 
    from .config import ConfigurationError
  File "/usr/lib/python2.7/site-packages/compose/config/config.py", line 50, in 
    from .validation import match_named_volumes
  File "/usr/lib/python2.7/site-packages/compose/config/validation.py", line 12, in 
    from jsonschema import Draft4Validator
  File "/usr/lib/python2.7/site-packages/jsonschema/__init__.py", line 33, in 
    import importlib_metadata as metadata
  File "/usr/lib/python2.7/site-packages/importlib_metadata/__init__.py", line 9, in 
    import zipp
  File "/usr/lib/python2.7/site-packages/zipp.py", line 12, in 
    import more_itertools
  File "/usr/lib/python2.7/site-packages/more_itertools/__init__.py", line 1, in 
    from .more import *  # noqa
  File "/usr/lib/python2.7/site-packages/more_itertools/more.py", line 460
    yield from iterable
             ^
SyntaxError: invalid syntax

则卸载docker-compose,执行以下命令

pip install --upgrade pip
yum groupinstall "Development Tools"
pip uninstall docker-compose
pip install docker-compose --ignore-installed requests

四、docker-compose.yml 编写并完成第一次启动(这里我只列举我用到的)
1、使用工具:idea。eclipse没有提示,不清楚安装什么插件。如果有指导的请您给我留言。
2、yml编写如下(docker-compose.yml)

version: '2' #版本
services:    #服务
  replenish:#服务名称
    image: reg.sfdomain.com/esp_test/replenish:0.0.2-SNAPSHOT #镜像
    container_name: replenish_devgroup_8084 #容器名称
    restart: always #自动重启
    network_mode: "host" #使用--net=host模式
    mem_limit: 1224m #限制容器内存
    memswap_limit: -1
    logging:  #限制容器日志大小,由于是开发平台所以设置较小,单位未 m或者g
      driver: "json-file"
      options:
        max-size: "1m"  
        max-file: "5"

3、将文件copy到centos服务器中,比如说 /dockerfile
4、进入dockerfile

cd /dockerfile

5、启动服务

docker-compose up -d

你可能感兴趣的:(docker)