본문 바로가기

환경설정

도커 사용법

도커 버전 확인 = docker version

 

이미지 다운로드 = docker pull     // docker pull ubuntu:14.04

이미지 삭제하지 = docker rmi      // docker rmi 6e4f

 

컨테이너 실행하기                             // docker run -it ubuntu:16.04  (pull이 안되어있다면 pull도 해줌)

-it  // 터미널입력

-p  // 호스트와 컨테이너의 포트 연결 (포워딩)

-v  // 호스트와 컨테이너의 디렉토리를 연결 (마운트)

-e  // 컨테이너 내에서 사용할 환경변수 설정

-name // 컨테이너 이름 설정

-rm // 프로세스 종료시 컨테이너 자동제거

-link // 컨테이너 연결

__________________________________________________________________________________________

EX )

// docker run -it ubuntu:16.04  

// docker run -it ubuntu:16.04  /bin/bash     (컨테이너 실행하고 해당 컨테이너에서 해당 명령어 실행)

// docker run -d -p 1234:6379 redis                  (  호스트의 1234 포트를 컨테이너의 6379 포트로 연결시키며 redis 컨테이너 실행 -d 는 백그라운드로 실행을 의미함 -> -d를 안하면 해당 컨테이너에 터미널이 머물러서 터미널 이용시 새로운 창을 켜줘야 함.)

// docker run -d -p 8888:8888 -p 6006:6006 teamlab/pydata-tensorflow:0.1 

___________________________________________________________________________________________

 

실행중인 컨테이너 확인 = docker ps         // docker ps -a

docker ps -a  // 중지된 컨테이너도 확인

컨테이너 종료하기 = docker stop              // docker stop 6e4f 

//컨테이너는 종료해도 삭제되지 않고, 다시 시작할 수 있으며, 컨테이너의 읽기/쓰기 레이어는 그대로 존재한다.

컨테이너 제거하기 = docker rm                 // docker rm 6e4f

컨테이너 전체 삭제 = docker rm `docker ps -a -q`

 

이미지 목록 확인하기 = docker images   // docker images

이미지 삭제하기 = docker rmi                    // docker rmi 6e4f    

//컨테이너가 실행중인 이미지는 삭제되지 않음.

 

컨테이너 로그 보기 = docker logs              // docker logs 

마지막 열줄                                                       // docker logs --tail 10 6e4f 

실시간                                                                //  docker logs -f 6e4f

 

컨테이너 명령어 실행하기 = docker exec // docker exec -it mysql /bin/bash

** run 명령어는 새로 컨테이너를 만들어서 실행하고, exec 명령어는 실행중인 컨테이너에 명령어를 내립니다

 

컨테이너 마운트하기 = docker run -v       // docker run -v /my/own/datadir:/var/lib/mysql 

//호스트의 디렉토리 : 컨테이너 내부의 디렉토리

 

 

EX ) docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql -v /my/own/datadir:/var/lib/mysql  mysql:5.7

* 백그라운드로 실행 , 호스트 3306 / 컨테이너 내부 3306 포트 연결 , 환경변수 설정 , 컨테이너 이름은 mysql , 호스트와 컨테이너 폴더 마운트 하면서 mysql:5.7 이라는 이미지 실행!

 

도커 컨테이너를 이미지로 만들기 = docker commit // docker commit container_id image_name/tag

도커 이미지를 단일 바이너리 파일 형태로 저장하는 법 = docker save -0   //  docker save -o ubuntu.tar ubuntu:14.04

바이너리 파일을 docker 엔진으로 가져오는 법 = docker load -i                //  docker load -i ubuntu.tar

 

도커 허브에 로그인 하기 = docker login

*********************************************************************

도커 허브에는 "HUB_ID/저장소이름" 형식의 repositiory 가 있습니다. 

도커 허브에 이미지를 넣기 위해서는 이 양식에 맞춰서 해당 이미지의 이름도 바꿔야 합니다.

*********************************************************************

도커 이미지 이름/태그 바꾸기 = docker tag 이미지이름 Hub_ID/저장소이름:태그(버전)

// docker tag ubuntu:14.04 wildbrother/ubuntu:0.0

도커 허브에 이미지 넣기 = docker push [image]   // docker push wildbrother/ubuntu:0.0

 

도커는 복잡한 설정을 쉽게 관리하기 위해 YAML 방식의 설정파일을 이용한 DOCKER COMPOSE 라는 툴을 제공함.

설치 =

curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose

실행

docker-compose version

 

 

해당 블로그와 다른 검색 내용을 참고하여 만듬.

subicura.com/2017/01/19/docker-guide-for-beginners-2.html

 

초보를 위한 도커 안내서 - 설치하고 컨테이너 실행하기

초보를 위한 도커 안내서 2번째 글입니다. 도커의 기본적인 내용을 이야기 했던 첫번째 글에 이어 실제로 도커를 설치하고 컨테이너를 실행하면서 도커 명령어를 알아봅니다. 도커를 처음 접하�

subicura.com

 

'환경설정' 카테고리의 다른 글

파이참 도커 데몬에서의 gpu 연동  (0) 2020.08.23