docker内安装docker,内部启动docker服务报错.

来源:4-10 Docker Overlay网络和etcd实现多机容器通信

慕神5986157

2019-01-09

想使用阿里云ECS上使用docker模拟多机环境.centos容器中安装docker时, 服务无法启动.
我的想法是在阿里云ECS上运行centos docker容器, 在容器内安装docker服务,运行多个docker 容器.层次如下:

  • 阿里云服务器
    • centos容器
      • centos容器
      • centos容器
      • centos容器
    • centos容器
      • centos容器
      • centos容器

centos镜像使用的是官方镜像, 然后使用官方推荐的Dockerfile创建可以使用systemctl的镜像.

# Dockerfile
  1 FROM centos:7
  2 ENV container docker
  3 RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
  4 systemd-tmpfiles-setup.service ] || rm -f $i; done); \
  5 rm -f /lib/systemd/system/multi-user.target.wants/*;\
  6 rm -f /etc/systemd/system/*.wants/*;\
  7 rm -f /lib/systemd/system/local-fs.target.wants/*; \
  8 rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
  9 rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
 10 rm -f /lib/systemd/system/basic.target.wants/*;\
 11 rm -f /lib/systemd/system/anaconda.target.wants/*;
 12 VOLUME [ "/sys/fs/cgroup" ]
 13 CMD ["/usr/sbin/init"]
#启动容器
docker run -itd -v /sys/fs/cgroup:/sys/fs/cgroup:ro --privileged e1ed1f6cacbd

# 进入容器
docker exec -it 290bab007e1d /usr/bin/bash

# docker安装完成后,启动docker服务
systemctl start docker
#出现如下错误
A dependency job for docker.service failed. See 'journalctl -xe' for details.
#运行journalctl -xe
journalctl -xe
# 找到下面的错误
...
-- Unit containerd.service has begun starting up.
Jan 09 05:52:32 4d24556bd860 systemd[1]: containerd.service: control process exited, code=exited status=1
Jan 09 05:52:32 4d24556bd860 systemd[1]: Failed to start containerd container runtime.
-- Subject: Unit containerd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit containerd.service has failed.
-- 
-- The result is failed.
Jan 09 05:52:32 4d24556bd860 systemd[1]: Dependency failed for Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has failed.
-- 
-- The result is dependency.
...
写回答

2回答

麦兜搞IT

2019-01-10

您可以本地多建几个虚拟机,或者在阿里云上多建几个虚拟机测试

1
2
麦兜搞IT
回复
慕粉1462372119
嗯,是的
2019-01-11
共2条回复

麦兜搞IT

2019-01-10

您好,没明白您的问题,docker内安装docker,您是说嵌套么?不建议您这样做,我自己都没有试过这样呢

0
0

系统学习Docker 践行DevOps理念

无论你是开发、测试还是运维,Docker都是你的必备技能。

3297 学习 · 1895 问题

查看课程