티스토리 뷰

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없이 자동으로 로그인되게 설정

엔서블에서 키를 생성하고

그 키를 연결된 에들한태 뿌리게 되는데 그 키를 가지고있으면 페스워드없이 접속이되게 된다

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함