【Docker】 Docker 개념 및 기본 명령어

(Docker) Docker 개념 및 기본 명령어

공부하기 좋은 사이트 : 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를 사용하는 이유]

img

정리 : 프로그램을 주고 받을 때, 그 프로그램을 위한 환경까지 같이 주자!! VMware와 같은 가상머신보다 훨씬 가볍게, 낮은 layer에서 동작한다.

[Docker Architecture]

img

정리 : Registry는 docker hub이다. 그곳에 많은 이미지들이 저장되어 있다. 이미지를 pull해와서 나의 local docker에 저장해놓고, 내가 필요할 때만 image를 container에 올려서 새로운 os나 환경을 구동한다.

img

왼쪽이 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

내 컴퓨터의 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 [-p 8888:8888] bash

Ex) $ sudo docker run -it –name ubun18 ubuntu:latest bash

실행한 docker에서 원한는 명령어 실행하기

이미지에서 원하는 프로세스만 실행하고 종료하기

$ docker run -it –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

$ docker image rm

사용하지 않는 이미지, 컨테이너 삭제하기

$ docker image prune

$ docker container prune

컨테이너 Up Down상태 바꾸기.

$ docker container stop

$ docker container start

detect한 container 위에 다시 올라가기

$ docker attach

이미 실행되어 있는 container에서 원하는 프로세스만 실행하기

$ docker exec -it /bin/cat /etc/hosts

container이름 바꾸기

$ docker container rename

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 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 올려서 사용해보기


© All rights reserved By Junha Song.