Docker Alpine 컨테이너에서 쉘 시작
Ubuntu 이미지를위한 대화식 쉘을 시작하기 위해 다음을 사용할 수 있습니다.
ole@T:~$ docker run -it --rm ubuntu
root@1a6721e1fb64:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
그러나 이는 알파인 도커 이미지에 대해 이렇게 결과가 나타납니다.
ole@T:~$ docker run -it --rm alpine
Error response from daemon: No command specified
Alpine 기본 컨테이너에서 대화식 쉘을 시작하는 명령은 무엇입니까?
ole@T:~$ docker run -it --rm alpine /bin/ash
(inside container) / #
위에서 사용하는 옵션 :
/bin/ash
BusyBox에서 제공하는 Ash ( Almquist Shell )--rm
용기가 나올 때 용기를 자동으로 제거합니다 (docker run --help
)-i
대화식 모드 (연결되어 있지 않아도 STDIN을 계속해서)-t
의사 TTY 할당
일반적으로, 이미지를 알프스 리눅스 포함하지 않는 bash
대신 사용할 수있는, /bin/ash
, /bin/sh
, ash
또는 단지 sh
.
/ 빈 / 재
docker run -it --rm alpine /bin/ash
/ 빈 / sh
docker run -it --rm alpine /bin/sh
금연 건강 보험 협회
docker run -it --rm alpine ash
쉬
docker run -it --rm alpine sh
이 정보가 도움이 되길 바랍니다.
요즘 Alpine 이미지는 /bin/sh
설치하지 않고 기본적으로 직접 부팅 합니다.
$ sudo docker run -it --rm alpine
/ # echo $0
/bin/sh
alpine
Dockerfiles 이미지는 이제 컨테이너가 시작될 때 선택할 수 있기 때문에 지정 하는 명령이 포함 되어 있기 때문 입니다.CMD
CMD ["/bin/sh"]
이전 Alpine 이미지 버전 (2017 이전)에서는 Docker가 CMD에 대한 추가 레이어를 추가하여 이미지 크기가 증가하므로 CMD 생성이 사용되지 않습니다. 이것은 알파인 이미지 개발자가 피하고 싶었던 것입니다. 최근 도커 버전 (1.10+)에서 CMD 더 이상 레이어는 차지하지 않은 alpine
이미지 에 추가되었습니다 . 따라서 CMD를 재정의하지 않고 최신 알파인 이미지가 부팅 /bin/sh
됩니다.
: 참고로, 다음은 글라이더 연구소에 의해 공식 알파인 Dockerfiles 저지 참조
https://github.com/gliderlabs/docker-alpine/commit/ddc19dd95ceb3584ced58be0b8d7e9169d04c7a3#diff-db3dfdee92c17cf53a96578d4900cb5b
참고 URL : https://stackoverflow.com/questions/35689628/starting-a-shell-in-the-docker-alpine-container
'IT' 카테고리의 다른 글
Node.js 오류 : Express 모듈을 못 견딜 수 없습니다 (0) | 2020.07.10 |
---|---|
어디에서나 정수를 연결 (0) | 2020.07.10 |
클래스에 주어진 서명의 멤버 함수가 있는지 확인 (0) | 2020.07.10 |
CSS- 선택한 라디오 버튼 레이블의 스타일을 지정하는 방법 (0) | 2020.07.10 |
물음표 란 무엇입니까? (0) | 2020.07.10 |