티스토리 뷰

Cloud

Docker 설치 및 사용법

Tribal 2016. 8. 4. 14:59

Docker 란? 2013년에 가상화의 문제점(무겁고 성능이 떨어짐)을 해결하기 위해 나온 방법, 이미지를 이용하여 컨테이너를 만들고 컨테이너를 이용해 컴퓨터의 자원을 사용(http://www.docker.com/)


--------------------------------------------------------------------------------------------------------------------------------------

Docker 설치(Ubuntu 기준)    (root 권한)

1
2
3
4
5
$ apt-get update
$ apt-get install docker
$ apt-get install docker.io
$ ln -sf /usr/bin/docker.io /usr/local/bin/docker
/etc/init.d/docker start
cs

--------------------------------------------------------------------------------------------------------------------------------------

Docker 사용법 : docker [명령어] [인자]   (root 권한)


search : Docker Server로 Docker의 이미지를 검색 (docker search [Image Name])

1
2
3
$ docker search Ubuntu       # 예제 1
 
$ docker search legit        # 예제 2
cs


images : 설치되어 있는 Docker의 이미지를 전부 출력 (docker images)

1
$ docker images
cs


pull : Docker Server로부터 Docker의 이미지를 다운로드 (docker pull [Image Name]:[Tag])

1
$ docker pull legitbs/legit_00001
cs


rmi : 설치되어 있는 Docker의 이미지를 삭제 (docker rmi [Image Name]:[Tag])

1
$ docker rmi legitbs/legit_00001
cs

※ 이미지 이름이 깨져 있는 경우 : docker rmi $(docker images -f “dangling=true” -q)


run : 이미지를 컨테이너로 생성 (docker run [Option] [Image Name] [File Name])

1
2
3
4
5
6
7
8
$ docker run ----name legit_00001 legitbs/legit_00001 /bin/bash
# -i : interactive, 상호통신을 가능하게 만듬
# -t : Pseudo-tty, 터미널 생성
# -d : 데몬으로 동작
# -p : 포트 포워딩을 위한 포트 지정, @:@ 형식
# --name : 컨테이너의 이름을 지정, 디폴트인 경우 랜덤한 이름 설정
# legitbs/legit_00001 : 설치된 이미지
# /bin/bash : docker 내부의 실행될 
cs


ps : 현재 실행되고 있는 컨테이너 출력 (docker ps [Option])

1
2
$ docker ps -a
# -a : 정지 상태의 컨테이너까지 전부 출력
cs


start/restart/stop : 컨테이너를 실행/재실행/정지 (docker start/restart/stop [Container Name])

1
2
3
$ docker start legit_00001
$ docker restart legit_00001
$ docker stop legit_00001
cs


rm : 컨테이너를 삭제 (docker rm [Container Name])

1
$ docker rm legit_00001
cs


attach : 컨테이너에 접속, run을 통해 지정해준 파일이 실행됨 (docker attach [Container Name])

1
$ docker attach legit_00001
cs


exec : 현재 실행 중인 컨테이너의 외부에 접속하지 않고 명령어 실행 (docker exec [Container Name] [Command] [Command_Arg])

1
$ docker exec legit_00001 id
cs


--------------------------------------------------------------------------------------------------------------------------------------

System error mount point for devices not found 오류...


여러가지를 검색하며 수정해보려 했으나 잘 되지 않아 어떻게든 된 방법대로 적어본다.

  1. apt-get remove docker.io
  2. apt-get autoremove
  3. reboot
  4. apt-get install docker
  5. apt-get install docker.io
  6. ln -sf /usr/bin/docker.io /usr/local/bin/docker


댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31