티스토리 뷰
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 -i -t --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 오류...
여러가지를 검색하며 수정해보려 했으나 잘 되지 않아 어떻게든 된 방법대로 적어본다.
- apt-get remove docker.io
- apt-get autoremove
- reboot
- apt-get install docker
- apt-get install docker.io
- ln -sf /usr/bin/docker.io /usr/local/bin/docker