代码在 Dockerfile 中有效,但在 docker-compose.yml 中无效

朱利安·科切内克

我必须执行 docker 程序:1) 第一个使用 Dockerfile 并执行docker build -t d1 .,然后docker run -p 4022:22 d12) 第二个使用 docker-compose.yml 文件,由命令启动docker-compose up

第一个有效,没有错误,第二个失败,执行 https git 操作的 ansible-galaxy 命令永远不会发生,但没有显示任何错误。任何的想法?

Dockerfile 内容

FROM myregistry.org/ansible-rhel:admin

COPY . /home/ansible/playbook-ldap-myapp
WORKDIR /home/ansible/playbook-ldap-myapp
USER ansible
RUN ansible-galaxy install -fr requirements.yml --roles-path roles/

docker-compose.yml 内容

version: '3'

networks:
  public: {}

volumes:
  playbook:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: $PWD

services:
  ansible-admin:
    image: myregistry.org/ansible-rhel:admin
    ports:
      - '4022:22'
    networks:
      - public
    volumes:
      - playbook:/home/ansible/playbook-ldap-myapp
    working_dir: /home/ansible/playbook-ldap-myapp
    user: ansible
    command: ''
    command: 'ansible-galaxy install -fr requirements.yml --roles-path roles/'
行李屏风

在您的 docker-compose.yml 中,您有两个command:条目:

    command: ''
    command: 'ansible-galaxy install -fr requirements.yml --roles-path roles/'

根据 Docker Compose 文件版本 3 参考:https : //docs.docker.com/compose/compose-file/

command:属性会在运行时覆盖在指定入口点内运行的默认可执行文件。

只能有一个command,而command您指定的第一个表面上会导致其他command条目被忽略。

删除该command: ''行,您的 Ansible 命令应该会运行。然而,它将是唯一运行的东西。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Dockerfile和docker-compose.yml中编码的内容以在Docker环境中传递本地包

scrollIntoView()在控制台中有效,但在站点代码中无效

存储过程在DB中有效,但在C#代码中无效

此代码在代码段中有效,但在Blogger中无效

为什么我的API调用在chrome中有效,但在我的代码中无效?

在docker-compose.yml或dockerfile中创建Docker网络

HTTP POST请求在Postman中有效,但在代码中无效

如果我运行docker-compose up,我是否需要目录中的Dockerfile以及docker-compose.yml文件?

代码在Thonny中有效,但在终端中无效。RPI

在csv中搜索值,代码在ipython中有效,但在程序中使用时无效

代码在spyder(python 3,7)中有效,但在Jupyter Notebook中无效

Docker Redis:“。\ docker-compose.yml”中的版本“ 6.0.8”无效

从dockerfile访问docker-compose.yml中设置的卷

容器在使用Dockerfile时起作用,但在使用docker-compose.yml时不起作用

代码在Firefox Scratchpad中有效,但在代码中无效

Firebase安全规则在模拟器中有效,但在代码中无效

函数在调试器中有效,但在实时代码中无效

代码在终端中有效,但在脚本中无效

Docker:Dockerfile与docker-compose.yml

NSView 显示代码在 Yosemite 中有效但在 macOS Sierra 中无效

Websocket 代码在控制台中有效,但在 winform 中无效

Scrapy 在 shell 中有效,但在代码中无效

提示在 DB Browser SQLite 中有效但在代码中无效?---我的不好,解决了

以下 c++ 代码在 leetcode 中有效,但在我的 vscode 中无效,为什么?

Docker:除了 docker-compose.yml 之外,如何使用 Dockerfile

docker-compose.yml中的“command”參數和Dockerfile中的CMD參數有什麼區別?

动态编程代码在 javascript 中有效,但在 python 中无效

Docker:“.\docker-compose.yml”中的版本“4.7.0”无效

dockerfile 中的 CMD 与 docker-compose.yml 中的命令