1. Docker 이미지 검색하기
$ docker search ubunutu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
arvindr226/ubunutu14.04-ssh The Docker image for ssh in Ubuntu 14.04 1 [OK]
jpdc/ubunutu-apache-php-pgsql Apache2, php5 and pgsql 9.3 1
jrlehtinen/ub14pfed Launches PingFed 9.0.2 in standalone mode on… 1
csmanioto/pdi PDI With XRPD on Ubunutu 14 0
dawu415/ubunutu_java_buildpack_tools 0
gissehel/ubuntu-base Base for all my images created from an ubunu… 0 [OK]
waxzce/rust-1.7 ubunutu based rust 1.7 0
v0rts/docker-ubuntu1604-ansible Ubunutu 16.04 image used for application ans… 0 [OK]
...
2. 이미지 받아 오기
- ubuntu 최신버전 받아오기
$ docker pull ubuntu:latest
3. 이미지 목록 확인하기
- 다운로드 받은 이미지 목록 출력하기
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 113a43faa138 5 days ago 81.2MB
hello-world latest e38bc07ac18e 2 months ago 1.85kB
4. docker 이미지로 컨테이너 실행하기
- docker 이미지를 컨테이너로 생성한 뒤 Bash를 실행합니다.
-it
: 옵션을 통해 docker 이미지 컨테이너의 bash 쉘을 실행 시킵니다.-i
: interactive- ‘-t’ : 가상 tty(터미널같은입력창) 할당
- bash를 사용할 수있도록 실행합니다.
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
$ docker run -it ubuntu /bin/bash
root@fefe911e20e7:/#
- 내부에서
ls
명령어를 입력해봅니다. 격리된 공간에서 ubuntu가 실행되었고 내부에서 실행이 가능해집니다.
5. docker 컨테이너 실행 확인
- 커맨드 라인 창을 하나 더 실행하여 아래의 명령어를 입력합니다.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fefe911e20e7 ubuntu "/bin/bash" About a minute ago Up About a minute sharp_varahamihira
6. 실행 중인 docker 정지 시키기
- 실행 중인 docker 창은 두고 다른 창에서 아래의 명령 실행하기
sharp_varahamihira
는docker ps
에 나온NAMES
항목이다.- docker가 컨테이너 실행 시 이름을 명시적으로 지정하지 않으면 임의의 이름을 생성한다.
docker stop <컨테이너 이름 또는 ID>
$ docker stop sharp_varahamihira
- 실행 중 이던 화면은 아래와 같이 나온다.
- docker 가 실행화면에서 exit 명령어를 입력하면 똑같은 효과가 생긴다.
root@fefe911e20e7:/# exit
$
7. 정지된 컨테이너 다시 실행하기
docker start <컨테이너 이름 또는 ID>
$ docker start sharp_varahamihira
- 실행 확인
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fefe911e20e7 ubuntu "/bin/bash" 12 minutes ago Up 18 seconds sharp_varahamihira
8. 실행 중 컨테이너에 접속하기
docker attach <컨테이너 이름 또는 ID>
$ docker attach sharp_varahamihira
root@fefe911e20e7:/#
9. 외부에서 컨테이너 안의 명령어 실행하기
docker exec <컨테이너 이름 또는 ID> 명령어
$ docker exec sharp_varahamihira echo "Hello Docker"
Hello Docker
10. 컨테이너 삭제 하기
docker rm <컨테이너 이름 또는 ID
- 기본적으로 아래의 명령어는 실행이 정지된 상태에서만 유효하다.
$ docker rm sharp_varahamihira
- 실행 중인 컨테이너의 경우 강제로 지우겠다는 옵션
-f
를 추가 해야한다.
$ docker rm -f sharp_varahamihira
11. 이미지 삭제 하기
docker rmi <이미지 이름>:<태그>
$ docker rmi ubuntu:latest
- 삭제 확인
$ docker images
12. MySQL 서비스 올리기
-d
는 데몬으로 실행 옵션-p
는 포트 연결 옵션서버포트:컨테이너포트
-e
는 환경 변수- 외부에서 3307 포트로 접속이 가능하다.
$ docker run -d -p 3307:3306 --name mysql -e MYSQL_DATABASE=homestead -e MYSQL_USER=homestead -e MYSQL_PASSWORD=homestead -e MYSQL_ROOT_PASSWORD=qwer1234 mysql:5.7