ARM 버전의 Ubuntu를 실행하는 Ampere(arm) 기반 Oracle Cloud에 Docker를 설치한다고 가정하는 Ansible 플레이북이 있습니다. 스크립트는 다음과 같습니다.
- name: Set sudo
set_fact:
ansible_become: yes
ansible_become_method: sudo
- name: Docker installation - installing prerequisites
ansible.builtin.apt:
name:
- apt-transport-https
- ca-certificates
- curl
- gnupg-agent
- software-properties-common
update_cache: yes
- name: Docker installation - Adding apt-key
ansible.builtin.apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
- name: Docker installation - Adding docker repo
ansible.builtin.apt_repository:
repo: deb [arch=armhf] https://download.docker.com/linux/ubuntu {{ ansible_lsb.codename }} stable
state: present
update_cache: yes
- name: Update cache
ansible.builtin.apt:
update_cache: yes
- name: Docker installation - Installing Docker
ansible.builtin.apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
update_cache: yes
이 질문을 stackoverflow에 게시했지만 여기로 이동하고 몇 가지 정보를 추가하는 것이 좋습니다. 메시지 중 하나는 "ansible_lsb.codename의 값은 무엇입니까? ansible이 해당 변수의 값을 인쇄하도록 또 다른 작은 작업을 추가했습니다. 이 부분은 문제를 일으키는 tkat 작업 바로 앞에 배치됩니다.
- name: Print
debug:
msg: "{{ ansible_lsb.codename }}"
The output is the following
ok: [XXX.XXX.XXX.XXX] => {
"msg": "mantic"
}
제안된 대로 armhf 빌드의 가용성도 확인했지만 내가 아는 한 그러한 빌드를 사용할 수 있습니다.
문제는 어떤 이유로 마지막 작업 "Docker 설치 - Docker 설치"에서 오류가 발생한다는 것입니다.
fatal: [XXX.XXX.XXX.XXX]: FAILED! => {"changed": false, "msg": "No package matching 'docker-ce' is available"}
도움을 주시면 감사하겠습니다.
답변1
오늘도 같은 문제가 발생했습니다! 하지만 내 전략은 1년 전에는 완벽하게 작동했습니다. 유선 작업... 호스트에 저장소를 수동으로 추가하려고 시도했는데 모든 것이 잘 작동했습니다. 하지만 앤서블에서는 그렇지 않습니다 ...
업데이트: 이 구성으로 설치할 수 있습니다
- name: Install required system packages
apt:
name: "{{ packages }}"
state: latest
update_cache: yes
vars:
packages:
- apt-transport-https
- ca-certificates
- curl
- software-properties-common
- name: Add Docker’s official GPG key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add Docker repository
apt_repository:
repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
state: present
- name: Install Docker CE
apt:
name: docker-ce
state: latest
update_cache: yes
- name: Install Docker Compose
get_url:
url: https://github.com/docker/compose/releases/download/1.29.2/docker-compose-{{ ansible_system }}-{{ ansible_userspace_architecture }}
dest: /usr/local/bin/docker-compose
mode: 'u+x,g+x'
- name: Verify Docker Compose installation
command: docker-compose --version
register: docker_compose_version
- debug:
var: docker_compose_version.stdout_lines