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 <module>
    from compose.cli.main import main
  File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 23, in <module>
    from ..bundle import get_image_digests
  File "/usr/lib/python2.7/site-packages/compose/bundle.py", line 12, in <module>
    from .config.serialize import denormalize_config
  File "/usr/lib/python2.7/site-packages/compose/config/__init__.py", line 6, in <module>
    from .config import ConfigurationError
  File "/usr/lib/python2.7/site-packages/compose/config/config.py", line 50, in <module>
    from .validation import match_named_volumes
  File "/usr/lib/python2.7/site-packages/compose/config/validation.py", line 12, in <module>
    from jsonschema import Draft4Validator
  File "/usr/lib/python2.7/site-packages/jsonschema/__init__.py", line 33, in <module>
    import importlib_metadata as metadata
  File "/usr/lib/python2.7/site-packages/importlib_metadata/__init__.py", line 9, in <module>
    import zipp
  File "/usr/lib/python2.7/site-packages/zipp.py", line 12, in <module>
    import more_itertools
  File "/usr/lib/python2.7/site-packages/more_itertools/__init__.py", line 1, in <module>
    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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值