container x11 forwarding 자동화
포스트
취소

container x11 forwarding 자동화

지난번에 ssh 를 통해 접속한 bash session의 container 안에서 x11forwading 을 통해서 사용자PC - server - docker container구조로 x11 forwarding을 하는 방법을 작성해두었다.

문제는 docker run 옵션으로 많은 부분을 타이핑 해두어야 하는점인데 좀더 편하게 이용하고자 아래처럼 bash shell script 를 작성하였다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash

# Put path info =========================================================

dockerTargetPath="/shared_path"
pycharmPath=${dockerTargetPath}"/_PYCHARM/pycharm-2020.3.1/bin"

# =======================================================================

imageList=$(docker images |tail -n +2 |awk '{print $1":"$2}')
dockerImages=(${imageList})

# Read image name from user.
echo "===== Docker image list ====="
echo ""
count=1
for i in ${dockerImages[@]}; do
    echo "${count}. [ ${i} ]"
    ((count=${count}+1))
done
echo ""
echo "============================="
echo ""
echo -e "Plase select docker-image number (1-${#dockerImages[@]}) :"
read sn
((sn=${sn}-1))
echo "Image name : ${dockerImages[${sn}]}"
imageName=${dockerImages[${sn}]}
echo ""
echo ""

# Allow display.
echo `xhost +`

# Run docker and set options.
echo "Now start pycharm..."
echo `nvidia-docker run -it --rm --net=host -v ${dockerTargetPath}:${dockerTargetPath} -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --volume="$HOME/.Xauthority:/root/.Xauthority:rw" ${imageName} /bin/bash -c "cd ${pycharmPath}; sh pycharm.sh"`

동작하면 아래처럼 결과가 나온다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ ./show.sh
===== Docker image list =====

1. [ hololee/tensorflow:1.15.5 ]
2. [ hololee/tensorflow:2.4.0 ]
3. [ hololee/pytorch:1.7.0 ]
4. [ pycharm_helpers:PY-203.6682.86 ]
5. [ hololee/pytorch:<none> ]
6. [ pycharm_helpers:PY-202.8194.22 ]
7. [ hololee/tensorflow:<none> ]
8. [ hololee/tensorflow:<none> ]
9. [ busybox:latest ]
10. [ hololee/pytorch:<none> ]

=============================

Plase select docker-image number (1-10) :
3
Image name : hololee/pytorch:1.7.0


Now start pycharm...

p.s.1 스크립트 내부에서 docker run을 하였더니 쉘이 멈췄다. 현재는 copy 하는 정도에서 하고 추후 방법을 찾아봐야 할듯.

p.s.2 단순히 커멘드 실행 으로 변경했더니 실행이 잘 되었다.. 코드 참고..

네이버에서 이전한 포스트로 오래전 작성되어서 내용이 잘못되었을 수 있습니다. 오류나 잘못된 정보 전달시 댓글로 알려주세요!

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

Tensorflow, pytorch, caffe 모델 서빙

x2go 이용하기