无法连接到 Docker 守护程序
Couldn't connect to Docker daemon
我是 Docker 和 CI\CD 的新人
我正在使用 vps 和 Ubuntu 18.04。
该项目的 docker 在本地运行并且工作正常。
我不太明白为什么服务器试图在 http 而不是 tcp 上找到 docker。
- override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd
docker 服务状态
- daemon.json
{ "storage-driver":"overlay" }
- gitlab-ci.yml
image: docker/compose:latest
services:
- docker:dind
stages:
- deploy
variables:
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
deploy:
stage: deploy
only:
- master
tags:
- deployment
script:
# - export DOCKER_HOST="tcp://127.0.0.1:2375"
- docker-compose stop || true
- docker-compose up -d
- docker ps
environment:
name: production
- 错误
docker
需要 root 权限才能访问。如果您想要 运行 docker 命令,或来自普通用户的 docker-compose
,您需要将您的用户添加到 docker
组,例如:
sudo usermod -a -G docker yourUserName
通过这样做,您可以与普通用户一起提升您的服务和其他 docker 内容。如果您不想将您的用户添加到 docker 组中,您需要始终在每个 docker 突击队员上添加 sudo 前缀 运行:
sudo docker-compose up -d
设置DOCKER_HOST
变量。使用 docker:dind
服务时,守护程序的默认主机名是服务名称 docker
.
variables:
DOCKER_HOST: "tcp://docker:2375"
您还必须设置 GitLab 运行程序以启用特权容器。
我是 Docker 和 CI\CD 的新人 我正在使用 vps 和 Ubuntu 18.04。 该项目的 docker 在本地运行并且工作正常。 我不太明白为什么服务器试图在 http 而不是 tcp 上找到 docker。
- override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd
docker 服务状态
- daemon.json
{ "storage-driver":"overlay" }
- gitlab-ci.yml
image: docker/compose:latest
services:
- docker:dind
stages:
- deploy
variables:
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
deploy:
stage: deploy
only:
- master
tags:
- deployment
script:
# - export DOCKER_HOST="tcp://127.0.0.1:2375"
- docker-compose stop || true
- docker-compose up -d
- docker ps
environment:
name: production
- 错误
docker
需要 root 权限才能访问。如果您想要 运行 docker 命令,或来自普通用户的 docker-compose
,您需要将您的用户添加到 docker
组,例如:
sudo usermod -a -G docker yourUserName
通过这样做,您可以与普通用户一起提升您的服务和其他 docker 内容。如果您不想将您的用户添加到 docker 组中,您需要始终在每个 docker 突击队员上添加 sudo 前缀 运行:
sudo docker-compose up -d
设置DOCKER_HOST
变量。使用 docker:dind
服务时,守护程序的默认主机名是服务名称 docker
.
variables:
DOCKER_HOST: "tcp://docker:2375"
您还必须设置 GitLab 运行程序以启用特权容器。