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容器
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
您可以本地多建几个虚拟机,或者在阿里云上多建几个虚拟机测试
122019-01-11 -
麦兜搞IT
2019-01-10
您好,没明白您的问题,docker内安装docker,您是说嵌套么?不建议您这样做,我自己都没有试过这样呢
00
相似问题