Docker Playbook yml-ssh到具有不同端口的主机
我已经为Docker容器部署了脚本Docker Playbook yml-ssh到具有不同端口的主机,ssh,ansible,Ssh,Ansible,我已经为Docker容器部署了脚本 - hosts: "{{ HOSTS|default('...') }}" remote_user: "{{ USER|default('root') }}" vars: deploy_port: "{{ DEPLOY_PORT|default(80) }}" git_branch: "{{ GIT_BRANCH|default('development') }}" python_settings: "{{ PYTHON_SET
- hosts: "{{ HOSTS|default('...') }}"
remote_user: "{{ USER|default('root') }}"
vars:
deploy_port: "{{ DEPLOY_PORT|default(80) }}"
git_branch: "{{ GIT_BRANCH|default('development') }}"
python_settings: "{{ PYTHON_SETTINGS|default('development') }}"
tasks:
- name: Log into Docker registry
docker_login:
registry_url: ...
username: ...
password: ...
....
因此,首先,我使用用户对主机执行SSH。但现在,我有了具有不同ssh端口(而不是22)的主机。
我怎么设置这个
我尝试使用port,但没有成功
- hosts: "{{ HOSTS|default('...') }}"
port: 23
remote_user: "{{ USER|default('root') }}"
vars:
deploy_port: "{{ DEPLOY_PORT|default(80) }}"
git_branch: "{{ GIT_BRANCH|default('development') }}"
python_settings: "{{ PYTHON_SETTINGS|default('development') }}"
tasks:
- name: Log into Docker registry
docker_login:
registry_url: ...
username: ...
password: ...
....
这是您应该在清单中为没有默认端口的主机设置的var。它的名称是
ansible\u port
(而不是您尝试的port
)
基本上:
- 创建一个
文件夹(与playbook处于同一级别或与清单文件处于同一级别)host\u vars
- 对于具有不同端口22的每台机器,在
中创建一个具有以下内容的host\u vars
文件(用实际端口替换XX):.yml
---
ansible_port: XX