从下面的代码片段中摘自这里,
# Create Docker Group with GID
# Set default value of 497 if DOCKER_GID set to blank string by Docker Compose
RUN groupadd -g ${DOCKER_GID:-497} docker
# Used to control Docker and Docker Compose versions installed
# NOTE: As of February 2016, AWS Linux ECS only supports Docker 1.9.1
ARG DOCKER_ENGINE=1.10.2
ARG DOCKER_COMPOSE=1.6.2
# ......
# Install Docker Engine
RUN apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D && \
echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | tee /etc/apt/sources.list.d/docker.list && \
apt-get update -y && \
apt-get purge lxc-docker* -y && \
apt-get install docker-engine=${DOCKER_ENGINE:-1.10.2}-0~trusty -y && \
usermod -aG docker jenkins && \
usermod -aG users jenkinsdocker组是在安装停靠引擎之前显式创建的。
1)对接引擎安装不创建docker组吗?
2)安装了码头后,为什么不能运行groupadd?
发布于 2019-11-03 14:47:44
Docker包在安装时创建停靠组。同时,这是用默认值创建的(我没有花时间检查这个值,但我的两台ubuntu机器运行的gid为999)。
在上面的示例中,组是在安装默认gid为497的包之前创建的,该包可以定制(通过在docker环境中设置DOCKER_GID )。关于你的原始链接有一条评论说:
默认设置为497,这是AWS Linux ECS实例使用的组ID。
你在这里建造的是某种dind (码头码头)。目标是确保主机上的停靠器guid与dind实例中的guid相同,以便它们能够共享已挂载卷上的文件(例如,控制套接字一般直接在主机上启动其他坞容器.)。
如果不事先创建组,则无法在之后运行groupadd,因为该组已经存在。
您可以在现有的组上运行groupmod,但我不喜欢使用g\uids。在安装软件包之前,使用您的确切需求创建系统用户/组通常是最安全的方法。
https://stackoverflow.com/questions/58681161
复制相似问题