-
[Docker] Docker 개념 및 기본 명령어하면서 이런이런것을 공부했다[연구노트]/Git, Docker, Pytorch 2020. 2. 18. 19:34
공부하기 좋은 사이트 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
기본 명령어 공부한 동영상 : https://www.youtube.com/watch?v=pMY_wPih7R0&list=PLEOnZ6GeucBVj0V5JFQx_6XBbZrrynzMh&index=3
1. Docker의 기본 개념
[Docker를 사용하는 이유]
정리 : 프로그램을 주고 받을 때, 그 프로그램을 위한 환경까지 같이 주자!! VMware와 같은 가상머신보다 훨씬 가볍게, 낮은 layer에서 동작한다.
[Docker Architecture]
정리 : Registry는 docker hub이다. 그곳에 많은 이미지들이 저장되어 있다. 이미지를 pull해와서 나의 local docker에 저장해놓고, 내가 필요할 때만 image를 container에 올려서 새로운 os나 환경을 구동한다.
왼쪽이 docker가 사용하는 Layers이고 오른쪽이 윈도우에서 VMware를 사용했을때 Layers모습니다.
2. Docker 기본 명령어
현재 내가 가지 도커 버전 검색
ps. nvidia-docker는 docker설치 이후에 설치할 것. 장점 : cuda설치 하지 않고 tensorflow-gpu이용 가능
nvidia-docker2까지 설치할 것.
https://github.com/NVIDIA/nvidia-docker/
$ docker version
$ docker --version
나의 docker 사용 정보 확인
$ docker info
docker 설치 후 설치가 잘 되었나 확인
$ docker run hello-world
내가 원하는 이미지 검색 - official로 다운 받기
또는 docker hub에서 검색하기 https://hub.docker.com/
$ docker search <imageName>
내 컴퓨터의 docker image가 무엇이 있는지 확인
$ docker images
$ docker image ls -a
내 컴퓨터의 docker container가 무엇이 있는지 확인
$ docker container ls -a
$ docker ps -a
docker 사용 중 메모리 정보 확인
$ docker system df
docker 이미지 hub에서 가져오기
$ docker pull <docker-image-name[:tag-name]>
Ex) $ sudo docker pull tensorflow/tensorflow:latest
이미지 container에 올리기
$ docker [container] run -it --name <container name> [-p 8888:8888] <image name> bash
Ex) $ sudo docker run -it --name ubun18 ubuntu:latest bash
실행한 docker에서 원한는 명령어 실행하기
이미지에서 원하는 프로세스만 실행하고 종료하기
$ docker run -it --name <container name> <image name> /bin/bash
$ docker run ubuntu:latest /bin/echo 'Hello world'Ex) $ sudo docker run -it --name ubun18 ubuntu:latest /bin/cat /etc/hosts
bash상태에서 나가는 방법 2가지
$ exit # container를 stop해버리기
$ ctrl+P -> ctrl+Q(detach) # container에서 detech
이미지,컨테이너 삭제하기
$ docker container rm <container code>
$ docker image rm <image code>
사용하지 않는 이미지, 컨테이너 삭제하기
$ docker image prune
$ docker container prune
컨테이너 Up Down상태 바꾸기.
$ docker container stop <container name>
$ docker container start <container name>
detect한 container 위에 다시 올라가기
$ docker attach <up되어 있는 container name>
이미 실행되어 있는 container에서 원하는 프로세스만 실행하기
$ docker exec -it <container name> /bin/cat /etc/hosts
container이름 바꾸기
$ docker container rename <old container name> <new container name>
3. 기본 docker 이미지 만들어 보기
$ docker run -it ubuntu:16.04 bash
# vi
| command not found
# apt update
# apt install vim
$ sudo docker container ls -q # container ID만 출력
$ docker commit <container ID> ub_with_vim:1
4. Directory 공유하기( --volume) (Bind mount a volume)
-v 옵션 이용하기
$ docker run -it -v /home/junha:/host_home ub_with_vim:1 bash
Docker 공부 사이트
https://subicura.com/2017/02/10/docker-guide-for-beginners-create-image-and-deploy.html
https://www.sangkon.com/hands-on-docker-part1/
https://www.44bits.io/ko/post/how-docker-image-work
이 정도 공부했으면... docker는 계속 파보면서 공부해야한다^^
앞으로 내가 공부할 것.
1. 초보 위한 도커 안내서 2강 3강
2. tensorflow pytorch 올려서 사용해보기
'하면서 이런이런것을 공부했다[연구노트] > Git, Docker, Pytorch' 카테고리의 다른 글
[docker] windows 10 home 그리고 docker desktop (0) 2020.03.14 [docker] docker 실습/ docker sudo 없이 실행하기 (0) 2020.02.21 [Git] Git 기초와 활용3 Readme/Rebase/onfig (Ubuntu terminal) (0) 2020.02.18 [우분투] 우분투 명령어 및 프로세스 (0) 2020.02.18 [Git] Git 기초와 활용2 branch/conflict/log (우분투 터미널) (0) 2020.02.17