簡體   English   中英

如何配置 docker-compose.yml 以 root 身份啟動容器

[英]How to configure docker-compose.yml to up a container as root

我正在嘗試使用 docker-compose-yml 連接兩個容器,但它不起作用。 這是我的 docker-compose.yml 文件:

version: "3"
services:
    datapower:
        build: .
        ports:
            - "9090:9090"
        depends_on:
            - db
    db:
        image: "microsoft/mssql-server-linux:2017-latest"
        environment:
            SA_PASSWORD: "your_password"
            ACCEPT_EULA: "Y"
        ports:
        - "1433:1433"

當我做:

docker-compose 起

這是我的兩個容器。 然后我停止一個容器,然后運行同一個容器獨立停止,如:

docker-compose run -u root --name nameofcontainer 'docker-compose.yml中命名的容器名稱'

這樣,容器的連接就可以工作了。 是否存在一種方法來配置我的 docker-compose.yml 以像 root 一樣連接我的容器而無需停止容器並獨立運行?

更新:

存在可以在撰寫文件中設置的user屬性。 這記錄在docker-compose 文件參考中

...
services:
    datapower:
        build: .
        user: root
        ports:
            - "9090:9090"
        depends_on:
            - db
...

docker-compose.yml中設置用戶組:

發現了另一種不僅可以在 docker-compose.yml 文件中設置用戶還可以設置的方法,該文件未記錄在 Docker 撰寫文件參考 @yamenk 在接受的答案中提供的幫助中。

我需要創建一個明確設置用戶組的容器,發現docker-compose.yml中的user:參數可以填充為由冒號分隔的UID:GID映射。

下面是我的 docker-compose.yml 文件的一個片段,在這個文件中測試了這個表單並發現它可以正常工作:

services:
 zabbix-agent:
  image: zabbix/zabbix-agent2:ubuntu-6.0-latest
  container_name: DockerHost1-zabbix-agent2
  user: 0:0
<SNIP>

參考:

https://github.com/zabbix/zabbix-docker/issues/710

希望這可以節省其他人浪費的尋找這個的周期!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM