도커 허브에서 우분투 기본 이미지를 다운로드했습니다. 이제 우분투 이미지를 기반으로 새로운 이미지를 만들려고합니다. 그러나 우분투 이미지의 기본 명령을 "/ bin/sh"대신 "/ bin/bash -c"로 지정하면 Dockerfile에서 RUN을 사용할 때 sh 대신 bash에 액세스합니다. 유의할 것은 동일한 이미지의 기본 명령이 아니라 빌드하려고하는 이미지가 아니라는 것입니다.기본 도커 이미지의 기본 명령 변경
답변
ubuntu
이미지에 기본 명령이 있다고 생각하지 않습니다. 실행하면
$ docker run ubuntu echo hi
hi
["/bin/echo", "hi"]
으로 실행됩니다. 당신은
$ docker run ubuntu set
2014/06/20 08:38:54 exec: "set": executable file not found in $PATH
set
가 내장되어 쉘 명령을 실행하여 다음을 확인 할 수 있지만, 고정 표시기는 외부 하나를 실행하려고합니다.
기본 쉘을 대시에서 bash로 변경하려면 고정 된 심볼릭 링크를 사용하여 이미지를 만들 수 있습니다. 여기 dockerfile는 다음과 같습니다
FROM ubuntu
RUN ln -sf /bin/bash /bin/sh
[편집]
난 그냥 당신이 무슨 말을하는지 깨달았다. 당신이 RUN
명령에 대한 기본값을 변경할 수 있습니다 나도 몰라,하지만 당신은 명시 적으로이 같은/빈/bash는 사용할 수 있습니다
RUN /bin/bash -c ...
'RUN ln -sf/bin/bash/bin/sh' 이것은 끔찍한 생각입니다. 우분투는/bin/sh를 대상으로합니다. 대시 (dash)는 배시 (bash)보다 훨씬 빠르게 실행되는 완전한 posix 쉘입니다./bin/sh를 bash에 연결하면 서버의 성능이 크게 저하됩니다. 인용 : https://wiki.ubuntu.com/DashAsBinSh – xero
@xero, 이것은 도커 컨테이너 안에 있습니다. 일반적으로 컨테이너의/etc에있는 스크립트를 실행하지 않으므로 많은 영향을 미치지 않을 것이라고 생각합니다. – ivant
당신은 사용할 수 있습니다
RUN ["/bin/bash", "-c", "<command>"]
- 1. 왜 기본 이미지의 레이어가 너무 많습니까? 도커
- 2. Windows의 기본 도커
- 3. 도커 : 기본 이미지
- 4. 기본 PHP 명령 경로 변경
- 5. Mac의 기본 도커 컴퓨터
- 6. 기본 도커 컨테이너 보고서
- 7. python matplotlib가 이미지의 기본 축을 변경 중입니다.
- 8. 도커 용 Windows 기본 이미지
- 9. Visual Studio에서 기본 명령 프롬프트 변경
- 10. 기본 도커 이미지 변경 Fedora의 다운로드 위치 23
- 11. 변경 기본 루트 변경
- 12. C 기본 헤드 명령
- 13. 나쁜 기본 파이썬 명령
- 14. WPF 기본 제공 명령
- 15. 기본 명령 행 인수
- 16. 이미지의 기본 varbinary (최대) 값
- 17. 기본 이미지의 성능이 향상 되었습니까?
- 18. 도커 - RHEL iso로 기본 이미지 생성
- 19. 도커 기본 IP 바인딩을 변경하는 방법은 무엇입니까?
- 20. 하나의 도커 컨테이너의 기본 크기를 늘리는 방법
- 21. tomcat8 도커 컨테이너의 기본 webapp 위치는 무엇입니까?
- 22. 기본 이미지의 표시는 이미지 소스가 변경 되더라도 변경되지 않습니다.
- 23. VS2005 기본 디버그 창 변경
- 24. GUID 기본 키를 정수 기본 키로 변경
- 25. 기본 1 배열을 기본 0 배열로 변경
- 26. 기본 도메인 변경/다중 기본 도메인 허용
- 27. 기본 색상 및 기본 색상의 색상 변경
- 28. 기본 키를 복합 기본 키로 변경
- 29. Docker 알파인 이미지의 기본 명령이 작동하지 않습니다.
- 30. Windows에서 기본 MySQL 사용자 변경
당신은 구축 할 필요가 도커 파일을 사용하여 자신의 컨테이너. ENTRYPOINT 및 CMD 지시문을 참조하십시오. https://docs.docker.com/reference/builder –
이미 수행했습니다. 안녕하세요 나는이 이미지를 구축하고 실행할 때 다음 명령 고정 표시기는 에코 ubuntu2 실행 그러나 - 나는 우분투 엔트리 포인트 [ "C" "/ 빈/bash는"] 우분투 의 엔트리 포인트를 변경하는 매우 간단한 Docerfile이 아무 것도 표시하지 않습니다. 이것을 더 조사하십시오. echo hi는 문자열로 전달되지 않습니다. 대신 'echo hi'를 넣으면 작동합니다! – Keeto