개발그래머
Ansible[5] Docker 이미지 관리 본문
1. 도커 허브에 도커 이미지 만들어서 push 하기 -> docker hub 확인
docker tag cicd-project-ansible dyghks7102/cicd-project-ansible // 기존 이미지에 태그 삽입
docker login //나의 도커허브 로그인
docker push dyghks7102/cicd-project-ansible
2. 도커 허브에 이미지 푸쉬하는 playbook 생성 (create-cicd-project-image-playbook.yml)
vi create-cicd-project-image-playbook.yml
- hosts: all
# become: true
tasks:
- name: create a docker image with deployed waf file
command: docker build -t dyghks7102/cicd-project-ansible .
args:
chdir: /root
- name: push the image on Docker Hub
command: docker push dyghks7102/cicd-project-ansible
- name: remove the docker image from the ansible server
command: docker rmi dyghks7102/cicd-project-ansible
ignore_errors: yes
3. 기존 first-devops-playbook.yml create-cicd-devops-container.yml 변경 후 파일 내용 수정(create-cicd-devops-container.yml)
mv first-devops-playbook.yml create-cicd-devops-container.yml // 파일이름 변경
vi create-cicd-devops-container.yml
- hosts: all
# become: true
tasks:
- name: stop current running container
command: docker stop my_cicd_project
ignore_errors: yes
- name: remove stopped cotainer
command: docker rm my_cicd_project
ignore_errors: yes
- name: remove current docker image
command: docker rmi dyghks7102/cicd-project-ansible
ignore_errors: yes
- name: pull the newest image from Docker hub
command: docker pull dyghks7102/cicd-project-ansible
- name: create a container using cicd-project-ansible image
command: docker run -d --name my_cicd_project -p 8080:8080 dyghks7102/cicd-project-ansible
4. 호스트 파일에 docker-server ip 추가
vi hosts
172.17.0.4
172.17.0.3
5. 도커이미지 생성 후 도커 허브에 푸쉬한 다음 기존 이미지 삭제하는 플레이북 실행
ansible-playbook -i hosts create-cicd-project-image-playbook.yml --limit 172.17.0.4
// limit 옵션 : 선언한 ip에서만 실행
6. 도커 허브에서 이미지 풀한 다음 컨테이너 실행하는 플레이북 실행
ansible-playbook -i hosts create-cicd-devops-container.yml --limit 172.17.0.3
'Devops > Ansible' 카테고리의 다른 글
Ansible[4] Ansible Playbook (0) | 2023.03.26 |
---|---|
Ansible[3] Ansible 기본 명령어 (0) | 2023.03.26 |
Ansible[2] Docker 컨테이너로 실행 (0) | 2023.03.25 |
Ansible[1] 소개 (0) | 2023.03.24 |