티스토리 뷰
cmd창을 열고 밑과 같이 입력합시다
image 받기
docker pull edowon0623/ansible:no_iptables
container등록
docker run --privileged --name ansible-server -itd -p 20022:22 -p 8082:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup edowon0623/docker:no_iptables /usr/sbin/init
8081포트가 이미 사용중이라면 8082로 수정후 실행해줍니다
주의
이미 컨테이너가 생성되어있다면 삭제 해주셔야합니다
docker ps -a 입력 후 방금 실패한 컨테이너가있다면 docker rm (컨테이너 id)
stop해줄 필요는 없을겁니다 실패해서 가동되진 않았을태니
컨테이너가 잘 생성 되었다면 docker network를 확인해봅시다.
docker network inspect bridge 입력
C:\Users\kdhwo>docker network inspect bridge
[
{
"Name": "bridge",
"Id": "0178fe8e4e49a27285db5227b96e6e11d0f60510cb7a6b86c9e50882ad12ed18",
"Created": "2023-06-20T00:18:55.122247317Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"86e4c4d9dc5cdebfbb3c133dae9d7d57f7845f82e37fd5fab216b73d01ab4e7d": {
"Name": "ansible-server",
"EndpointID": "2d6708cd1e6f49dc36cc7f1ce0bd314e42277c2d73bcadaab353b24c00a7aa08",
"MacAddress": "02:42:ac:11:00:04",
"IPv4Address": "172.17.0.4/16",
"IPv6Address": ""
},
"9e075cf23e874fce0a578c905bb3bb4017c7f16839147ec1df32e65efcf7c22d": {
"Name": "jenkins-server",
"EndpointID": "d1f78e1e9b7eae7bc62d9765fa8ac8c7e5f69b5077fb26ec3a7da5e19da6042e",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
},
"b7c74d7d8e2f1fde0e29d583e1a8407265bae53eb5f98addcc6b8fd13cf12df7": {
"Name": "docker-server",
"EndpointID": "65d636014cf61b9c0248a9405069bd885ab4e97de239fabc6fac664604ef326a",
"MacAddress": "02:42:ac:11:00:03",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
위의 출력내용에서 도커서버와 ansible의 아이피만 기억합시다.
"Name": "ansible-server",
"IPv4Address": "172.17.0.4/16",
"Name": "docker-server",
"IPv4Address": "172.17.0.3,
docker-server는 클라이언트를 위한 아이피가 됩니다.
jenkins는 아직 필요없으니 무시합시다
ssh접속
컨테이너 생성할때 20022로 설정했으니 위와같이 접속하고 입력창이 나온다면 성공입니다.
비밀번호는 P@ssw0rd 입니다.
에러발생시
C:\Users\kdhwo\.ssh 경로에 known_hosts를 vscode로 열어 모든내용 삭제후 저장 다시 실행해보시면 됩니다.
ncurses설치
ssh에 yum을 이용해서 ncurses를 설치해줍시다. (clear 명령어 사용가능해짐)
yum install -y ncurses
설치완료후
ip와 버젼 확인
ansible 폴더가 없다면 생성해주기
아이피를 입력할 파일 만들어주기
[root@86e4c4d9dc5c ~]# vi /etc/ansible/hosts
vi창에서 i를 눌러
위에서 보았던 docker와 ansible의 아이피주소를 입력해줍니다.
입력하고 :wq!를 입력하여 저장하고 나와줍니다.
확인
여러 그룹으로 만들고 싶다면 밑과같이 입력해도 괜찮습니다.
현재 상태
다른 포트로 포워딩 되어있음
10022로 접속하면 도커로 접속
20022로 접속하면 ansible로 접속
ansible에서 도커로 접속 시도할때는 아까 입력한 ip 주소를 이용해서
ssh root@172.17.0.4로 접속을 시도하게 됨
키 설정을 하게 되면
password없이 자동으로 로그인되게 설정
엔서블에서 키를 생성하고
그 키를 연결된 에들한태 뿌리게 되는데 그 키를 가지고있으면 페스워드없이 접속이되게 된다
'CI CD > JenKins' 카테고리의 다른 글
Jenkins(Windows) 9 ansible 모듈 사용해보기 ansible다운받는법 (0) | 2023.06.20 |
---|---|
Jenkins(Windows) 8 ansible key생성 ansible 기본 명령어 (0) | 2023.06.20 |
Jenkins(Windows) 6 iac개요 Ansible의 이해 (0) | 2023.06.20 |
Jenkins(Windows) 5 Docker container에 배포하기(Exec command) (0) | 2023.06.20 |
Jenkins(Windows) 5 SSH + Docker VM(컨테이너)사용하기 (0) | 2023.06.20 |