[英]Code works in Dockerfile but not in docker-compose.yml
我必須 docker 程序:1)第一個使用 Dockerfile 並執行docker build -t d1.
然后docker run -p 4022:22 d1
2) 第二個使用 docker-compose.yml 文件,由命令docker-compose up
第一個有效,沒有錯誤,第二個失敗,命令 ansible-galaxy 執行 https git 操作從未發生,但沒有顯示錯誤。 任何想法?
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 撰寫文件版本 3 參考: https://docs.docker.com/compose/compose-file/
command:
屬性在運行時覆蓋在指定入口點內運行的默認可執行文件。
只能有一個command
,並且您指定的第一個command
表面上會導致其他command
條目被忽略。
刪除command: ''
行,您的 Ansible 命令應該運行。 但是,它將是唯一運行的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.