我们有一个必须维护的小型内部应用程序。此应用程序启动新的Docker容器并在旧的ruby(2.2)/ rails(4.2)版本上运行。
由于无法在新的Ubuntu上安装此ruby版本-版本库中的libssl版本错误,并且我没有找到并行安装旧版本和新版本的方法-我决定将这个应用程序放在docker中容器。
除了在尝试将docker套接字安装到其中时,rails服务器在启动时崩溃-该应用希望在这段时间内访问该套接字以显示所有正在运行的容器。 我已经使用以下方法确保了主机和容器的docker组相同:
ARG DOCKER_GROUP_ID
USER root
RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list
RUN echo "deb http://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/sources.list.d/docker.list
RUN groupadd -g $DOCKER_GROUP_ID docker && usermod -a -G docker root
在构建期间,我传递了这个参数:
docker-compose build --build-arg DOCKER_GROUP_ID =
getent group docker | cut -d: -f3
当我连接到容器并致电docker info
时,我得到一个结果,但是容器仍然可以...
有什么想法吗?