1. docker 설치
2. docker 사용
$ docker pull tensorflow/tensorflow:latest
2. Tensorflow 컨테이너 생성
$ docker run -it -p 8888:8888 -p 6006:6006 -v /root/tensorflow/work:/root/work --name uyeon_tensorflow -e PASSWORD=test1234 tensorflow/tensorflow
-p = 호스트의 포트와 docker image 포트를 연결
ex) -p 호스트포트:컨테이너포트
-v = 호스트의 볼륨 저장 위치와 docker image 내부의 볼륨을 공유(samba 비스무리)
ex) -v 호스트경로:컨테이너경로
-e = Argument 를 넘기는 옵션
ex) -e PASSWORD=test1234 (PASSWORD 파라미터로 test1234 값을 넘김)
3. Tensorflow 컨테이너 실행, 종료
$ docker start uyeon_tensorflow
localhost:8888 접근해서 jupyter 를 확인한다. (암호: test1234)
$ docker stop uyeon_tensorflow
$ docker restart uyeon_tensorflow
4. Tensorflow 컨테이너에 exec 외부 명령으로 /bin/bash 실행
$ docker exec -it uyeon_tensorflow /bin/bash
% 이렇게 함으로써 컨테이너 내부에서 명령을 원하는데로 할 수 있다.
$ tensorboard --logdir=./logs --host 0.0.0.0 (컨테이너 안에서 텐서보드 실행)
% 만약 현재 컨테이너의 bash를 유지한 상태에서 빠져나가려면 Ctrl+P -> Ctrl+Q 입력한다.
% 컨테이너의 bash에서 "exit" 나 "Ctrl+D" 로 그냥 빠져나오면 현재 컨테이너의 bash는 종료가 되기 때문에 해당 컨테이너 bash 에서 실행한 프로그램들도 모두 종료가 된다.
5. 컨테이너 목록 전체
$ docker ps (실행중인 것만)
$ docker ps -a (전체)
6. Tensorflow 컨테이너 삭제 (정지된 컨테이너만 삭제 가능)
$ docker rm uyeon_tensorflow
7. Tensorflow 이미지 삭제
$ docker rmi uyeon_tensorflow