[ -d ~/workspace ] || mkdir ~/workspace
이 홈 디렉토리에 작업 공간 디렉토리를 생성합니다.
이 X 윈도우 디스플레이에 연결하는 로컬 컴퓨터에서 루트 사용자를 허용
.
-i
:
docker run -i --net=host --rm -e DISPLAY -v $HOME/workspace/:/workspace/:z docbill/ubuntu-umake-eclipse
이것은 다음과 같은 옵션이있는 컨테이너를 실행하는 용기 내에 시작 프로세스에 의해 수신 실행이 명령 한 후 입력 된 대화 형 입력.
--net=host
: 호스트 네트워킹. 격리 된 네트워크 스택으로 컨테이너가 시작되지 않습니다. 대신 호스트의 모든 네트워킹 인터페이스는 컨테이너 내부에서 직접 액세스 할 수 있습니다.
--rm
자동으로 출구에서 컨테이너를 정리합니다. 그렇지 않으면 컨테이너는 중지 된 상태를 유지합니다.
-e DISPLAY
호스트의 DISPLAY 환경 변수를 컨테이너로 전달합니다. 이것은 GUI 프로그램에 출력을 보낼 곳을 알려줍니다.
-v $HOME/workspace/:/workspace/:z
호스트의 홈 디렉토리에서 작업 공간 폴더를 selinux 공유 설정이 활성화 된 컨테이너의/workspace 폴더로 매핑하십시오.
docbill/ubuntu-umake-eclipse
도커 허브에서 사용자 docbill이 작성한이 이미지를 실행합니다 (여기에 누구나 계정을 만들 수 있음). 이것은 도커의 공식 이미지가 아니라 커뮤니티 제출 이미지입니다.
옵션에서이 명령은 RHEL 또는 CentOS Docker 호스트에서 실행되는 사용자를 위해 설계되었을 가능성이 큽니다. Windows 용 Docker 또는 Mac 용 Docker에서는 작동하지 않지만 다른 Linux 변종에서 작동해야합니다.
xhost 및 호스트 네트워킹없이 GUI를 사용하여 내 컨테이너를 실행하는 비슷한 명령을 사용했습니다. 대신, 나는 X 윈도우 소켓 (/tmp/.X11-unix
)을 컨테이너에 직접 매핑했다 :
docker run -it --rm -e DISPLAY -u `id -u` \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /etc/localtime:/etc/localtime:ro \
my_gui_image