我正在尝试设置一个码头服务(通过terraform),它将把jenkins作为容器运行。我想将主机VM的停靠目录绑定到码头服务。我试过两种选择。
生成码头服务
虽然成功地实例化了服务,但容器不识别停靠器套接字。我可以看到容器中的/var/run/docker.sock文件,但是docker命令不能工作。
供您参考的代码块。
码头服务命令
docker service create --name aws --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock jenkins/jenkins:ltsTERRAFORM主TF文件
resource "docker_service" "jenkins_service" {
name = var.project_name
task_spec {
container_spec {
image = docker_image.jenkins_image.name
mounts {
source = var.jenkins_volume
target = "/var/jenkins_home"
type = "bind"
}
mounts {
source = "/var/run/docker.sock"
target = "/var/run/docker.sock"
type = "bind"
}
}
networks = ["${docker_network.jenkins_network.name}"]
}
endpoint_spec {
ports {
target_port = "8080"
published_port = var.web_interface_port
publish_mode = "ingress"
name = "WEB_INTERFACE"
}
ports {
target_port = "50000"
published_port = var.api_interface_port
publish_mode = "ingress"
name = "API_INTERFACE"
}
}
}错误消息
bash -4.2美元码头主管-u 0 -it 9bc2a468174 a bash
root@9bc2a468174a:/# docker
bash:码头:找不到命令
root@9bc2a468174a:/# ls -ltr /var/run/docker.sock
srwxrwxrwx.09月24日11:02 /var/run/docker.sock
码头版
-bash-4.2$ docker版本
客户端:
版本: 18.09.8
API版本: 1.39
Go版本: go1.10.8
Git提交: 0dd43dd87f
建成日期:2010年7月17日17:40:31
OS/Arch: linux/amd64 64
实验: false服务器:码头引擎-社区
引擎:
版本: 18.09.8 API版本: 1.39 (最低版本1.12)
Go版本: go1.10.8
Git提交: 0dd43dd
建成日期:2010年7月17日17:10:42
OS/Arch: linux/amd64 64
实验:假
任何投入都将不胜感激。
问候森希尔内森M
发布于 2020-01-08 12:12:53
bash: docker: command not found。
容器中没有安装docker客户端。将/var/run/docker.sock从主机安装到容器中,只会使容器的对接客户端与主机的停靠守护进程对话。您仍然需要至少在容器中安装docker客户端。
https://stackoverflow.com/questions/59645589
复制相似问题