标签: docker-compose

如何在 Docker Compose 中设置 uid 和 gid?

我可以这样执行docker run命令......

docker run --rm  --user $(id -u):$(id -g) -e MYDATA=/some/path/to/data -e USER=$USER -p 8883-8887:8883-8887 ...
Run Code Online (Sandbox Code Playgroud)

但是,在 Docker Compose 中,当我写出以下内容时......

version: '3.7'
services:
  container_name: some-server
  image: some:img
  user: $(id -u):$(id -g) 
  ... 
Run Code Online (Sandbox Code Playgroud)

... 这是行不通的。

我知道我要求docker-compose up执行子 shell 命令替换,但它不能。

有没有办法做到这一点?

bash shell docker docker-compose

33
推荐指数
2
解决办法
3万
查看次数

Docker-compose 错误 [内部] 启动 buildkit,http:无效的主机标头

我正在使用 docker compose 在 Ubuntu 23.04 VM 上创建 postgresql 数据库和节点服务器。过去几周我每次跑步时都运行良好docker-compose up --build -d。但现在我有以下错误:

运行 docker-compose 时出错

我尝试降级我的 docker 版本,但同样的错误仍然存​​在。

以下是 docker 版本详细信息:

码头工人版本

有人知道发生了什么吗?

docker docker-compose

33
推荐指数
5
解决办法
2万
查看次数

docker-compose:网络和链接之间的差异

我正在学习码头工人.我看到这两个词让我感到困惑.例如,这里是一个定义了两个服务redis和的docker-compose web-app.

services:
  redis:
    container_name: redis
    image: redis:latest
    ports:
      - "6379:6379"
    networks:
      - lognet

  app:
    container_name: web-app
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3000:3000"
    volumes:
      - ".:/webapp"
    links:
      - redis
    networks:
      - lognet

networks:
  lognet:
    driver: bridge
Run Code Online (Sandbox Code Playgroud)

docker-compose文件定义名为lognet的网桥,所有服务都将连接到此网络.据我了解,此操作使这些服务可以看到其他人.那么为什么app服务仍然需要在上面的情况下链接到redis服务.

谢谢

docker docker-compose docker-networking

32
推荐指数
1
解决办法
2万
查看次数

使用docker-compose删除命名卷?

如果我有一个docker-compose文件,例如:

version: "3"
services:
  postgres:
    image: postgres:9.4
    volumes:
      - db-data:/var/lib/db
volumes:
  db-data:
Run Code Online (Sandbox Code Playgroud)

...然后docker-compose up创建一个命名的卷db-data.有没有办法通过docker-compose?删除此卷?如果它是一个匿名卷,那么docker-compose rm -v postgres就可以了.但就目前而言,我不知道如何在db-data不恢复docker命令的情况下移除卷.感觉这应该可以在docker-composeCLI中实现.我错过了什么吗?

volumes docker docker-compose

32
推荐指数
4
解决办法
1万
查看次数

如何修复错误“错误:数据库未初始化且未指定超级用户密码。”

您好,我在运行 docker-compose build up 后收到此错误

但我收到此错误 postgres_1 | 错误:数据库未初始化且未指定超级用户密码。

这是错误的快照! 在此处输入图片说明

下面是我的 docker-compose.yml 文件

版本:'3.6'

Server.js 文件

services: 
  smart-brain-api:
    container_name: backend
    build: ./
    command: npm start
    working_dir: /usr/src/smart-brain-api
    ports:
      - "3000:3000"
    volumes:
      - ./:/usr/src/smart-brain-api
 
  #PostGres Database
 
  postgres:
    image: postgres
    ports:
      - "5432:5432"
Run Code Online (Sandbox Code Playgroud)

postgresql docker docker-compose

32
推荐指数
4
解决办法
3万
查看次数

Docker compose 创建 kafka 主题

问题:无法从 docker-compose 创建主题。在运行测试系统之前,我需要创建 kafka 主题。计划将其用作管道的一部分,因此使用 UI 不是一个选项。

\n

注意:kafka 需要大约 15 秒才能准备好,因此我需要在添加主题之前休眠 15 秒。

\n

可能的解决方案

\n
    \n
  1. 创建一个 shell.sh 文件,其中包含等待 15 秒的命令,然后添加一堆主题
  2. \n
  3. 为其创建一个 dockerfile
  4. \n
  5. 在启动测试系统之前将该 docker 镜像包含在 docker-compose.yml 中
  6. \n
\n

电流

\n
    \n
  1. 创建动物园管理员 - 确定
  2. \n
  3. 创建 kafka1 - 确定
  4. \n
  5. 休息代理-好的
  6. \n
  7. 创建主题<- 问题
  8. \n
  9. 创建 SUT - 确定
  10. \n
\n

当前 docker-compose.yml

\n
version: '2'\nservices:\nzookeeper:\nimage: docker.io/confluentinc/cp-zookeeper:5.4.1\nhostname: zookeeper\ncontainer_name: zookeeper\nports:\n- "2181:2181"\nenvironment:\nZOOKEEPER_CLIENT_PORT: 2181\nZOOKEEPER_TICK_TIME: 2000\n\nKafka1:\nimage: docker.io/confluentinc/cp-enterprise-kafka:5.4.1\nhostname: Kafka1\ncontainer_name: Kafka1\ndepends_on:\n- zookeeper\nports:\n- "9092:9092"\n- "9101:9101"\nenvironment:\nKAFKA_BROKER_ID: 1\nKAFKA_ZOOKEEPER_CONNECT: …
Run Code Online (Sandbox Code Playgroud)

apache-kafka docker docker-compose

32
推荐指数
3
解决办法
4万
查看次数

是否允许在CMD指令中使用Docker ARG

我有一个地方一个Dockerfile ARG在使用CMD指令:

ARG MASTER_NAME
CMD spark-submit --deploy-mode client --master ${MASTER_URL}
Run Code Online (Sandbox Code Playgroud)

arg通过docker-compose传递:

  spark:
    build:
      context: spark
      args:
        - MASTER_URL=spark://master:7077
Run Code Online (Sandbox Code Playgroud)

但是,ARG似乎没有得到扩展CMD.在我之后docker-compose up.

以下是检查显示的内容:

docker inspect  -f "{{.Name}} {{.Config.Cmd}}" $(docker ps -a -q)
/spark {[/bin/sh -c spark-submit --deploy-mode client --master ${MASTER_URL}]}
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

31
推荐指数
1
解决办法
9702
查看次数

Docker 1.10通过主机的主机名访问容器

我有Docker版本1.10与嵌入式DNS服务.

我在docker-compose文件中创建了两个服务容器.它们可以通过主机名和IP相互访问,但是当我想从主机到达其中一个时,它不起作用,它只适用于IP但不适用于主机名.

那么,是否可以通过Docker 1.10中的主机名从主机访问docker容器,好吗?

更新:

泊坞窗,compose.yml

version: '2'
services:
    service_a:
        image: nginx
        container_name: docker_a
        ports:
           - 8080:80
    service_b:
        image: nginx
        container_name: docker_b
        ports:
            - 8081:80
Run Code Online (Sandbox Code Playgroud)

然后我按命令启动它: docker-compose up --force-recreate

当我跑:

  • docker exec -i -t docker_a ping -c4 docker_b - 有用
  • docker exec -i -t docker_b ping -c4 docker_a - 有用
  • ping 172.19.0.2- 它的工作原理(172.19.0.2docker_b的)
  • ping docker_a- 失败了

结果docker network inspect test_default

[
    {
        "Name": "test_default",
        "Id":   "f6436ef4a2cd4c09ffdee82b0d0b47f96dd5aee3e1bde068376dd26f81e79712",
        "Scope": "local",
        "Driver": "bridge",
        "IPAM": { …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose docker-networking

31
推荐指数
4
解决办法
1万
查看次数

Docker compose:服务中“环境”选项的插值格式无效

嗨在 docker compose 我有:

 environment:
      - AWS_ACCESS_KEY_ID=$(aws --profile default configure get aws_access_key_id)
      - AWS_SECRET_ACCESS_KEY=$(aws --profile default configure get aws_secret_access_key)
Run Code Online (Sandbox Code Playgroud)

但它返回给我一个类似主题的错误。任何人都知道如何传递这些变量?

谢谢

docker docker-compose

31
推荐指数
5
解决办法
3万
查看次数

无法启动守护进程:初始化网络控制器时出错:创建默认“桥接”网络时出错

我使用的Fedora release 33 (Thirty Three) Docker 版本是Docker version 20.10.0, build 7287ab3

首先我跑了docker system prune,从那以后 docker daemon 无法启动。

我运行systemctl start docker命令并得到

Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
Run Code Online (Sandbox Code Playgroud)

然后systemctl status docker.service我得到了

? docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor pr>
     Active: failed (Result: exit-code) since Wed 2020-12-09 11:10:58 IST; 15s >
TriggeredBy: ? docker.socket
       Docs: …
Run Code Online (Sandbox Code Playgroud)

containers fedora docker docker-compose

30
推荐指数
2
解决办法
1万
查看次数