Ubuntu镜像中Docker安装成功但Docker daemon无法启动求助
问题:Ubuntu镜像中安装Docker后daemon无法启动
基于Ubuntu基础镜像构建新镜像,已成功安装Docker,但Docker daemon始终无法运行,重启服务后问题依旧。
Dockerfile内容
FROM ubuntu RUN apt update && apt upgrade -y #SHARED TOOLS RUN apt update && apt install -y curl RUN apt update && apt install -y unzip RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - RUN apt update && apt install -y apt-transport-https ca-certificates gnupg-agent software-properties-common RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - RUN apt-key fingerprint 0EBFCD88 RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" RUN apt update && apt install -y docker-ce docker-ce-cli containerd.io
报错信息
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? root@b114bf803d3a:/# service docker status * Docker is not running
解决方案
- 容器默认没有systemd这类初始化系统,直接用
service docker start无法正常启动Docker daemon。要在容器内运行Docker,优先使用官方**docker-in-docker(dind)**镜像,而非普通Ubuntu镜像。 - 若坚持基于Ubuntu镜像构建,需做以下修改:
- 更新Dockerfile,安装systemd并配置Docker自启:
FROM ubuntu RUN apt update && apt upgrade -y # 合并重复命令减少镜像层数 RUN apt install -y curl unzip apt-transport-https ca-certificates gnupg-agent software-properties-common systemd RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" RUN apt update && apt install -y docker-ce docker-ce-cli containerd.io # 启用Docker服务 RUN systemctl enable docker - 启动容器时必须添加特权模式并挂载cgroup:
docker run -it --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro your-custom-image
- 更新Dockerfile,安装systemd并配置Docker自启:
- 最简方案:直接使用官方
docker:dind镜像,启动命令:docker run -d --privileged docker:dind
内容的提问来源于stack exchange,提问作者Eshwar nalla
相关产品推荐
相关产品推荐

