인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

강윤수님의 프로필 이미지

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

실습5) Jenkins + Ansible Playbook 사용하기 ②

m2 mac: ansible-server에서 container 실행 안됨

작성

·

51

0

[root@ab1033644112 ~]# docker logs 239c5ab92b48
exec /usr/local/bin/dockerd-entrypoint.sh: invalid argument


가장 최근 질문에 올라와있는 방식대로 해도 안됨.

그냥 영상만 보고 넘어가려 했는데 다음 강의에서 hub에 push해서 사용해보는 실습이 있네요?

애초에 여기서 안되는데.. 강사님이 올려두신 파일 그대로 사용한겁니다.

- 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 cicd-project-ansible
    ignore_errors: yes

  - name: build a docker image with deployed war file
    command: docker build -t cicd-project-ansible -f Dockerfile .

  - name: create a container using cicd-project-ansible image
    command: docker run -d --name my_cicd_project -p 8080:8080 cicd-project-ansible

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

혹시 작업하신 내용이 어떤 이미지를 사용했는지 확인해 주실 수 있을까요?
docker-server:m1-ubuntu 최근 macOs에서 사용하는 이미지 중 CentOS 기반의 이미지로 실행시 말씀하신 오류가 발생되는 현상이 있어, ubuntu 이미지를 다시 생성해서 공유했습니다. 말씀하신 작업이 MacOS Apple chip을 사용하고 계시는 환경이라면, docker-server:m1-ubuntu 이미지로 변경하신 다음에 실습을 진행해 보시기 바랍니다.

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

강윤수님, 제공해주신 오류 메시지와 Ansible 플레이북을 통해 해당 문제의 원인을 몇 가지 확인해볼 수 있습니다.

  1. 도커 엔트리포인트 스크립트 오류: 오류 메시지인 exec /usr/local/bin/dockerd-entrypoint.sh: invalid argument는 도커의 엔트리포인트 스크립트에서 잘못된 인수가 전달되었다는 것을 나타냅니다. Dockerfile이나 실행 시 사용하는 명령어를 확인하고 그 안에 잘못된 인수가 있는지를 확인해 보셔야 합니다.

  2. Dockerfile 확인: DockerfileENTRYPOINT 또는 CMD 설정에 문제가 있을 가능성이 있습니다. 예를 들어 쉘 스크립트가 유효한지, 정확한 경로와 인자가 전달되는지를 확인해야 합니다.

  3. Mac 환경 문제: M2 Mac 환경에서 Docker가 제대로 설정되지 않았거나 환경 변수들이 올바르지 않을 수 있습니다. Docker Desktop이 정상적으로 설치되어 있는지, 혹시 실행 중인 컨테이너에서 특별한 설정이 필요한지를 확인해보세요.

  4. 권한 문제: become: true가 주석 처리되어 있어서 docker 명령이 루트 권한이 필요한데 사용되지 않았을 수도 있습니다. become: true를 활성화하여 루트 권한으로 명령어가 실행되도록 설정해 보세요.

각각의 사항을 확인하여 수정하신 뒤 다시 실행해 보시길 권장 드립니다. 추가적인 정보가 필요하시다면 언제든지 문의해주세요!

문제가 해결되길 바랍니다. 좋은 하루 되세요!