为了保持宿主主机的环境干净,因此将docker-compose安装到一个基于centos7.3的容器之中,因为tianchao屏蔽了amazonaws,最后选择了通过pip方式来安装,这也是官方推荐的一种安装方式。https://pip.pypa.io/en/stable/installing/

第一步:
安装CentOS7.3的image创建container并进入container之中,因为平时linux是选择centos作为开发机的。

sudo docker pull centos:7.3.1611
sudo docker run --name devCentos73 -it -v /var/run/docker.sock:/var/run/docker.sock -v /mnt/xvdb1/dockerDisk/centos7.3:/data -d centos:7.3.1611
sudo docker exec -it <containerIDOrName> bash

第二步:
在容器之中安装pip,因为CentOS7.3已经自带了Python 2.7.5,并且安装docker-compose

curl -L https://bootstrap.pypa.io/get-pip.py > get-pip.py
python get-pip.py
pip install docker-compose

卸载docker-compose可以使用pip uninstall docker-compose

验证是否安装成功

[root@132ddea267ef data]# docker-compose --version
docker-compose version 1.11.2, build dfed245

第三步:
新建一个docker-compose.yml测试是否可以连上宿主docker server。

mkdir composeTest
cd composeTest/
vi docker-compose.yml
version: '2'
services:redis:image: redis:alpine

运行docker-compose up &

[root@132ddea267ef composeTest]# docker-compose up &
[1] 223
[root@132ddea267ef composeTest]# Creating composetest_redis_1
Attaching to composetest_redis_1
redis_1  | 1:C 28 Mar 02:24:51.130 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
redis_1  |                 _._
redis_1  |            _.-``__ ''-._
redis_1  |       _.-``    `.  `_.  ''-._           Redis 3.2.8 (00000000/0) 64 bit
redis_1  |   .-`` .-```.  ```\/    _.,_ ''-._
redis_1  |  (    '      ,       .-`  | `,    )     Running in standalone mode
redis_1  |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
redis_1  |  |    `-._   `._    /     _.-'    |     PID: 1
redis_1  |   `-._    `-._  `-./  _.-'    _.-'
redis_1  |  |`-._`-._    `-.__.-'    _.-'_.-'|
redis_1  |  |    `-._`-._        _.-'_.-'    |           http://redis.io
redis_1  |   `-._    `-._`-.__.-'_.-'    _.-'
redis_1  |  |`-._`-._    `-.__.-'    _.-'_.-'|
redis_1  |  |    `-._`-._        _.-'_.-'    |
redis_1  |   `-._    `-._`-.__.-'_.-'    _.-'
redis_1  |       `-._    `-.__.-'    _.-'
redis_1  |           `-._        _.-'
redis_1  |               `-.__.-'
redis_1  |
redis_1  | 1:M 28 Mar 02:24:51.134 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
redis_1  | 1:M 28 Mar 02:24:51.134 # Server started, Redis version 3.2.8
redis_1  | 1:M 28 Mar 02:24:51.134 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
redis_1  | 1:M 28 Mar 02:24:51.134 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
redis_1  | 1:M 28 Mar 02:24:51.134 * The server is now ready to accept connections on port 6379

第四步:
验证是否安装成功,进入宿主主机执行命令

grj@GrjServer ~/command $ sudo docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                      PORTS                                      NAMES
b4a04bf9cdef        redis:alpine                 "docker-entrypoint.sh"   8 seconds ago       Up 7 seconds                6379/tcp                                   composetest_redis_1

美中不足的是,系统启动的时候,container不能自动启动,这个问题我是使用systemd来解决的,只是觉得还是麻烦。

注:没有把踩的坑给列出来,如遇到解决不了的问题欢迎留言咨询。

转载于:https://www.cnblogs.com/grj1046/p/6632247.html

在docker container中运行docker-compose相关推荐

  1. 如何在Docker容器中运行Docker [3种方法]

    在本博客中,我将向您介绍在docker中运行docker所需的三种不同方法. Docker In Docker的用处 dockerIndocker的一个潜在用处是CI管道,在代码成功构建后,您需要在其 ...

  2. Docker 容器中运行 Docker 命令

    Docker 容器中运行 Docker 命令 在使用 GitLab/Jenkins 等 CI 软件的时候需要使用 Docker 命令来构建镜像,需要在容器中使用 Docker 命令:通过将宿主机的 D ...

  3. 在docker container中为gsutil认证gcloud

    1.写在前面的话 本篇博客适用的对象是在docker container中运行gsutil cp xxxxx时报401错误的 为什么会报401?因为gsutil在登录到xxxx网站时,没有被gclou ...

  4. 【Rust日报】 2019-05-27:toast - 支持在docker容器中运行任务的工具

    Rust中文社区翻译小组招募 #activity #RustChina 首批任务:Rust官网翻译 这里有详细说明 https://github.com/rust-lang/www.rust-lang ...

  5. 如何在Docker容器中运行GUI程序

    如何在Docker容器中运行GUI程序 各位,今天我们将学习如何在Docker之中运行GUI程序.我们可以轻易地在Docker容器中运行大多数GUI程序且不出错.Docker是一个开源项目,提供了一个 ...

  6. vs附加其它计算机应用到进程,如何将VS代码附加到在docker容器中运行的节点进程...

    我试图将Visual Studio代码调试程序附加到在Docker容器中运行的node.js应用程序. 我启动应用程序,如: node --debug-brk app.js 我在docker-comp ...

  7. 教你成功在Win10系统中运行docker

    1 前言 在上文Docker初体验中我们介绍了Docker的一些基本概念和常用命令,但因为Docker是在Linux系统下创建的资源分离机制,所以它无法在Windows系统下直接运行.这次我们将用3分 ...

  8. 在Linux和Windows的Docker容器中运行ASP.NET Core

    译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了.那么我就来翻译一下这篇文章,让更多的中文读者看到.当然Scott遇到的坑我也遇 ...

  9. Docker容器中运行Ubuntu系统

    只习惯用Centos系统,但是有些软件编译安装很麻烦不方便,但是呢在Ubuntu中就变得容易方便,所以我打算用docker运行Ubuntu系统弥补Centos短板和不足之处: 项目地址:https:/ ...

  10. Beats:如何在 Docker 容器中运行 Filebeat

    今天在这篇博客中,我们将学习如何在容器环境中运行 Filebeat. 为了快速了解 Filebeat 是做什么用的: Filebeat用于转发和集中日志数据 它重量轻,小型化,使用的资源更少 它作为代 ...

最新文章

  1. php输出带的字符串吗,php输出含有“#”字符串的方法
  2. Linux(CentOS)下设置nginx开机自动启动和chkconfig管理
  3. python 文件处理软件_Python —— 文件处理
  4. python redis 操作_Python 使用 Redis 操作
  5. 【转】1.7异步编程:基于事件的异步编程模式(EAP)
  6. Java内存模型(Java Memory Model,简称JMM)
  7. 从零开始学Node.js(二)
  8. 【java】java 多线程 异步计算 FutureTask 源码详解
  9. 写了个关于tomcat项目部署脚本 shell
  10. 什么是车联网?导航?听歌?智能语音识别?事实没这么简单!
  11. Codeforces Round #558 Div.2 - C2 - Power Transmission (Hard Edition)
  12. 提供三份程序员简历模板
  13. 高德地图看各省分界线_请教 高德地图绘制行政区划边界
  14. 易语言执行mysql命令_易语言执行sql进度条 易语言mysql
  15. ZC公司员工评分系统——前台排版算法
  16. python 自动下载脚本_Python实现115网盘自动下载的方法
  17. java持久化 seri_Java 的序列化 (Serialization) 教程
  18. python中idle什么意思_python中idle是什么意思
  19. C# MemoryStream
  20. 运放技术——谐波失真THD

热门文章

  1. sql server怎么设置id字段自增
  2. Java基础HashMap---面试题【二】
  3. MySQL 开启慢查询日志
  4. leetcode探索动态规划(三)
  5. python文件系统监控_简单了解Python下用于监视文件系统的pyinotify包
  6. redis新数据类型-HyperLogLog
  7. mysql自增主键到头了怎么办_数据库自增主键用完了怎么办
  8. mysql80连接不上本地服务器_干货教程:如何在服务器上安装Mysql8.0
  9. 你需要来自trustedinstaller的权限才能删除_一文详解To B权限设计
  10. java决策树算法_零基础学习大数据开发技术需要哪些基础知识(1)Java、大数据基础...