1. Window용 Docker Desktop 설치
1) 도커 설치
Docker 홈페이지 : www.docker.com
Empowering App Development for Developers | Docker
Learn how Docker helps developers bring their ideas to life by conquering the complexity of app development.
www.docker.com
2) Window용 Docker Desktop 설치 : docs.docker.com/docker-for-windows/install/
Install Docker Desktop on Windows
docs.docker.com
Docker 실행 확인
Windows PowerShell
> wsl -l -v
> docker -v
3) RHEL
인터넷이 연결된 서버에서 yum utility 설치
2. 도커 컨테이너 관리
1) 도커 이미지 다운로드 받기
Ubuntu20.04/Windows PowerShell
# image 찾기
> docker search tensorflow
# image 다운로드
> docker pull tensorflow
> docker pull pytorch
2) 이미지 확인
Ubuntu20.04/Windows PowerShell
> docker images
(결과)
PS D:\work\workspace\TensorFlow-master> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
getting-started latest 02e506f58015 13 days ago 27.9MB
docker/getting-started latest 3c156928aeec 10 months ago 24.8MB
tensorflow latest 4d3d9d563502 23 months ago 3.32GB
3) 도커 이미지로부터 컨테이너 실행
--name 뒤에 원하는 이름을 설정
Ubuntu20.04/Windows PowerShell
> docker run -it --name tf -p 8888:8888 -p 6006:6006 tensorflow /bin/bash
> docker run -it --name pt -p 8889:8889 -p 8097:8097 pytorch /bin/bash
-v (--volumn) : 공유디렉토리
Ubuntu20.04/Windows PowerShell
> docker run -it --volume d:\:/mnt/d pytorch /bin/bash
(결과) root 계정으로 컨테이너 내부 쉘에 접속한 상태
root@고유번호:/workspace#
4) 컨테이너 끄기
root@고유번호:/workspace# exit
5) 도커 컨테이너 상태 확인 : Status 확인
Ubuntu20.04/Windows PowerShell
> docker ps -a
PS D:\work\workspace\TensorFlow-master> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6d468316db58 tensorflow "/bin/bash" About a minute ago Exited (0) 13 seconds ago tf
7b168e4516ac docker/getting-started "nginx -g 'daemon of…" 13 days ago Exited (255) 12 days ago 0.0.0.0:80->80/tcp gifted_mayer
6) 도커 컨테이너 자유롭게 드나들기
docker run 명령어는 한 번 만 실행하시면 됩니다. 종료된 컨테이너를 다시 실행(docker start 도커이름) 합니다
Ubuntu20.04/Windows PowerShell
> docker start tf
> docker attach tf
root@[고유번호]:/workspace#
컨테이너 터미널에 접속(docker attach 도커이름) 하면 컨테이너 내부 터미널로 이동하게 됩니다.
3. Doker 생성
Docker 에서 Image 는 Container 와 함께 가장 중요한 개념입니다.
모든 컨테이너는 이미지를 바탕으로 실행됩니다. 도커에서는 다양한 베이스 이미지와 애플리케이션 이미지를 제공하여 새로운 커스텀 이미지를 만들 수 있게 합니다. 이 커스텀 이미지로 미리 특정 애플리케이션이 실행가능한 프로비저닝된 환경을 구축하고, 언제 어디서나 컨테이너로 실행하는 것이 가능합니다.
도커에서는 다양한 베이스 이미지를 제공하여 베이스 이미지를 기반으로 새로운 커스컴 이미지를 만들 수 있습니다.
모든 컨테이너는 이미지를 바탕으로 실행되며, 이 때 이미지는 컨테이너가 실행되는 파일 시스템입니다. 도커에서는 다양한 베이스 이미지와 애플리케이션 이미지를 제공할뿐만 아니라, 사용자는 이러한 이미지를 기반으로 해서 새로운 커스텀 이미지를 만들 수 있습니다. 이 커스텀 이미지로 미리 특정 애플리케이션이 실행가능한 프로비저닝된 환경을 구축하고, 언제 어디서나 컨테이너로 실행하는 것이 가능합니다.
도커 이미지 빌드는 베이스 이미지를 기반으로 컨테이너를 실행하고 컨테이너 전용 파일 공간(레이어)에 변경사항을 저장해서 이미지를 만들고, 다시 이 이미지로 컨테이너를 만들고… 반복하며 만들어집니다. 레이어는 논리적인 단위로 나누기도 하고, 캐시를 고려해서 나누기도 하기 때문에, FileX와 FileY 둘 중에 어느 쪽이 정답이라고는 할 수 없습니다. 상황에 따라 적절히 구성해야합니다.
4. Dockerfile 이용하여 생성