
윈도우 환경에서 ubuntu 가상 os를 설치하고, 그 내부에 docker, jenkins, ansible, tomcat 서버를 구축한다.
docker repository 생성

docker login

docker pull myoungseok/ansible
- 이미지 가져오기
docker tag myoungseok/ansible cloudwoong/ansible <- my repository
docker push cloudwoong/ansible
docker run --privileged --name ansible-server -d -p 20022:22 -p 8081:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup --cgroupns=host cloudwoong/ansible /usr/sbin/init
docker exec -it ansible-server bash
cat /etc/*release

[root@da462b619f64 ~]# yum install -y ncurses
root@ubuntu:~# docker run --privileged --name ansible-server -d -p 20022:22 -p 8081:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup --cgroupns=host cloudwoong/ansible /usr/sbin/init

docker run --privileged --name docker-server2 -d -p 30022:22 -p 8082:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup --cgroupns=host cloudwoong/ansible /usr/sbin/init
docker run --privileged -d -p 8080:8080 -p 50000:50000 --restart=on-failure -v jenkins_home:/var/jenkins_home --name jenkins-server jenkins/jenkins
docker exec -it -u 0 jenkins-server bash
-jenkins은 그냥 들어가면 사용자 모드이기 때문에 -u를 붙여 관리자권한으로 설정해준다.
docker run -d --name tomcat -p 8083:8080 tomcat:9.0
docker exec -it tomcat /bin/bash

jenkins과 tomcat에서 ssh 설정해주기
apt update
apt install openssh-server openssh-client
nano /etc/ssh/sshd_config
Port 22
ListenAddress 0.0.0.0
PermitRootLogin yes
PasswordAuthentication yes
passwd root
12345
service ssh restart/enable/status

ansible에서 설정하기

[root@da462b619f64 ~]# ssh-copy-id root@172.17.0.2
password = 12345
[root@da462b619f64 ~]# ssh-copy-id root@172.17.0.3
password = P@ssw0rd
[root@da462b619f64 ~]# ssh-copy-id root@172.17.0.4
password = 12345
[root@da462b619f64 ~]# ssh-copy-id root@172.17.0.5
password = P@ssw0rd
생성된 ssh-key 확인


ok failed changed unreachable 중에 하나의 대답이 나온다.

처음에 Failed라고 나왔는데 jenkins 칸에 python3를 설치해주니깐 제대로 실행되었다.
which python3로 확인한 후 없으면 깔고 확인하면 모두 SUCCESS으로 나온다.

위의 명령어로 각각의 메모리를 확인할 수 있다.
각 호스트의 가동 시간 정보가 표시
ansible에서 설정
[root@da462b619f64 ~]# pwd
/root
[root@da462b619f64 ~]# touch copytest.txt
[root@da462b619f64 ~]# cat > copytest.txt
copy test
[root@da462b619f64 ~]# cat copytest.txt
copy test
jenkins, docker-server2, tomcat에서 설정
root@e1795ab93545:~# pwd
/root
root@e1795ab93545:~# mkdir test
[root@da462b619f64 ~]# ansible all -m copy -a "src=./copytest.txt dest=~/test"


tomcat에서 다음의 명령어를 확인할 수 있다.


ansible은 centos이기 때문에 yum 명령어로 상태를 볼 수 있게 설정할 수 있다.