代码在Dockerfile中工作,但在docker-compose.yml中不工作
我必须遵守docker程序: 1第一个使用docker文件,docker构建-t d1。然后docker运行-p 4022:22 d1 2第二个使用docker-compose.yml文件,由docker compose up命令启动 第一个有效,没有错误,第二个失败,命令ansible galaxy wich执行https git操作从未发生,但没有显示错误。 有什么想法吗 Dockerfile内容代码在Dockerfile中工作,但在docker-compose.yml中不工作,docker,docker-compose,ansible,dockerfile,Docker,Docker Compose,Ansible,Dockerfile,我必须遵守docker程序: 1第一个使用docker文件,docker构建-t d1。然后docker运行-p 4022:22 d1 2第二个使用docker-compose.yml文件,由docker compose up命令启动 第一个有效,没有错误,第二个失败,命令ansible galaxy wich执行https git操作从未发生,但没有显示错误。 有什么想法吗 Dockerfile内容 FROM myregistry.org/ansible-rhel:admin COPY .
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中,有两个命令项: 根据Docker Compose文件版本3参考,位于: command:attribute在运行时覆盖在指定入口点内运行的默认可执行文件 只能有一个命令,您指定的第一个命令表面上会导致忽略其他命令项
删除命令行,您的Ansible命令就会运行。但是,它将是唯一运行的东西。是否尝试使用不同的服务名称?两个命令行:可能与您的问题相关;尝试删除空的一个。您的卷:mount隐藏了该目录中的所有内容,您的Dockerfile基本上没有任何效果。我更喜欢Dockerfile路径。您可能会发现,在非Docker Python虚拟环境中运行Ansible比像这样将其塞进Docker更容易lot@DavidMaze我不知道你所说的非Docker Python env是什么意思。我是一个ansible noob,我刚刚写了两个角色,用Molecular测试,这是我的第一本剧本。分配给我的任务是在一堆服务器上测试一个剧本,这些服务器几乎与生产服务器相同,这意味着一个ansible管理员、两个ansible目标、一个ldap客户端。没有Docker我怎么能做到?我试图在docker compose文件中构建这些服务器,以运行整个系统。如果你知道另一个不用Docker运行它的解决方案,我很感兴趣。关于它有很多文档。在本地系统上,您可以只安装Ansible,而不需要Docker。有Ansible tasks模块可以管理Docker容器或在远程系统上启动Docker compose。真正的唯一要求是,您可以从本地系统到正在管理的主机建立出站连接,并且远程系统具有Python。
command: ''
command: 'ansible-galaxy install -fr requirements.yml --roles-path roles/'