작성
·
654
0
안녕하세요.
edowon0623/ansible:latest 이미지를 아래 명령어로 컨테이너를 실행 후,
컨테이너 안에서 docker 서비스를 실행하면 오류가 발생되면서 docker 서비스가 실행되지 않습니다.
docker run --privileged -itd --name ansible-server -p 20022:22 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup edowon0623/ansible:latest /usr/sbin/init
#systemctl status 메시지
[root@ace67f7bf994 ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2022-10-03 15:22:47 UTC; 19s ago
Docs: https://docs.docker.com
Process: 43266 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
Main PID: 43266 (code=exited, status=1/FAILURE)
Oct 03 15:22:47 ace67f7bf994 systemd[1]: docker.service: Service RestartSec=2s expired, scheduling restart.
Oct 03 15:22:47 ace67f7bf994 systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
Oct 03 15:22:47 ace67f7bf994 systemd[1]: Stopped Docker Application Container Engine.
Oct 03 15:22:47 ace67f7bf994 systemd[1]: docker.service: Start request repeated too quickly.
Oct 03 15:22:47 ace67f7bf994 systemd[1]: docker.service: Failed with result 'exit-code'.
Oct 03 15:22:47 ace67f7bf994 systemd[1]: Failed to start Docker Application Container Engine.
[root@ace67f7bf994 ~]#
이전 챕터에서 docker+ssh 컨테이너와 달리 아래의 파일이 존재하지 않는데요,/etc/sysconfig/docker
/etc/sysconfig/docker-storage
잘문입니다.
이전 장에서 사용한 docker+ssh 컨테이너에 Ansible을 설치할 수 있을까요?
edowon0623/ansible:latest 로 실행한 컨테이너에서 docker 서비스를 정상 실행할 수 있도록 확인 해주실 수 있을까요?
감사합니다
답변 1
0
안녕하세요, 이도원입니다.
Windows 환경에서 Docker로 SSH+Docker 또는 Ansible 컨테이너를 실행하실 때 아래 내용을 참고하시어 실행해 보시기 바랍니다, DinD(Docker in Docker) 방식으로 실행 시 오류 발생하신 다는 분이 많아서 Host PC(Windows)의 Docker Desktop을 SSH+Docker 또는 Ansible 컨테이너 내에서 공유하여 실행하는 방법인 DooD(Docker Out Of Docker) 방식으로 기동하여 사용해 보시기 바랍니다. DooD 방식으로 사용하실 때에는 SSH+Docker 또는 Ansible 컨테이너 내에서 사용하는 포트는 Host PC에서도 그대로 저용되기 때문에, 포트 및 컨테이너명에 충돌이 없도록 지정해서 사용하시기 바랍니다. DooD를 실행하는 명령어는 아래와 같습니다.
docker run -itd --name ansible-server -p 20022:22 -e container=docker --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /var/run/docker.sock:/var/run/docker.sock edowon0623/ansible:latest /usr/sbin/init
추가로, 질문하신 1번 내용은 아래 명령어를 이용하여 실행하신 Docker 컨테이너 내에서도 설치가 가능합니다.
$ yum install -y python38
$ pip3 install --upgrade --ignore-installed pip setuptools
$ pip3 install ansible
추가 질문사항 있으시면 글 남겨 주세요.
감사합니다.
답변 감사합니다.
DindD 로 구성되었던 이전 이미지도 올려주시거나, 수강생들이 base 리눅스 이미지로 DinD 환경을 만들수 있도록 가이드를 한 번 해주시면 좋겠습니다.
리눅스base이미지에 ssh 설치 + 도커설치
리눅스base이미지에 ssh설치 + ansible 설치
감사합니다.