docker에 대한 개념과 이해는 다른 글이나 책에서 쉽게 확인할 수 있다.
docker 설치하기
먼저 설치부터 해보자
쉽게 docker 공식 홈페이지에서 Windows 10 download로 설치를 진행하면 된다.
https://www.docker.com/products/docker-desktop
*exe 파일을 실행하면 docker가 설치되는데 설치하고 확인할때, wsl 2 installation is incomplete
의 오류가 발생할 수 있다. WSL 2 engine이 필요한거니 설치해준다.
https://stackoverflow.com/questions/63845591/docker-wsl-2-installation-is-incomplete
설치가 다 완료되면 오른쪽 하단의 백그라운드 아이콘에 고래 모양을 확인할 수 있다.
여기서는 명령어 위주로 시작한다. 자세한 내용은 Refernce를 참고하면 좋다.
항상 설치를 했으면 버전 확인을 통해 제대로 설치가 됐는지 확인하는 과정이다
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
32
33
|
C:\Users\htk>docker --version
Docker version 20.10.8, build 3967b7d
C:\Users\htk>docker version
Client:
Cloud integration: 1.0.17
Version: 20.10.8
API version: 1.41
Go version: go1.16.6
Git commit: 3967b7d
Built: Fri Jul 30 19:58:50 2021
OS/Arch: windows/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.8
API version: 1.41 (minimum version 1.12)
Go version: go1.16.6
Git commit: 75249d8
Built: Fri Jul 30 19:52:10 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.9
GitCommit: e25210fe30a0a703442421b0f60afac609f950a3
runc:
Version: 1.0.1
GitCommit: v1.0.1-0-g4144b63
docker-init:
Version: 0.19.0
GitCommit: de40ad0
|
cs |
docker image / Container
docker에 대한 개념을 쉽게 이해할수 있는 구조이다.
우리가 앱 스토어에서 프로그램을 받고 그것을 실행하는 과정을 오른쪽의 docker에 있는 과정으로 나타낸 것이다.
이제 이 작업을 진행한다.
https://hub.docker.com/search?q=&type=image
해당 링크에 들어가서 원하는 Image를 다운받는다. 필자는 jenkins/jenkins와 httpd(아파치)를 설치하였다. 두 이미지에서는 명령어로 어떻게 다운받는지 설명되어 있다.
그림에도 있듯이 이미지를 가져오는것은 pull 명령이다. -docker pull httpd-
설치를 완료했다면 우리가 가지고 있는 이미지가 어떤것인지 확인할 필요가 있다.
1
2
3
4
|
C:\Users\htk>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jenkins/jenkins latest cb79d47c4661 6 days ago 678MB
httpd latest c8ca530172a8 7 days ago 138MB
|
cs |
위와 같이 가져온 이미지를 실행하는 것은 run명령으로 하면 될것 같다.
Windows에서는 GUI도 제공하므로 직관적으로 쉽게 이해할 수 있다.
보통 --name 옵션으로 컨테이너의 이름을 정한다.
https://docs.docker.com/engine/reference/commandline/logs/
이 문서에서 필요한 여러 명령어들에 대해 확인할 수 있다.
여기서는 간단하게 컨테이너를 실행해보자.
1
|
C:\Users\htk>docker run --name Test httpd
|
cs |
이렇게하면 Test란 이름의 httpd 컨테이너가 생성된 것이다.
하나더 만들어서 호스트 포트와 컨테이너 포트를 연결하여 컨테이너를 생성해본다.
docker run -i -p 8088:80 httpd
위 명령어로 컨테이너를 실행하고 localhost:8088번으로 이동하면 실행중인 컨테이너에 접속할 수 있다.
docker log를 실행시켜 새로고침을 할때마다 변화되는 로그로 확인할 수 있다.
Refernce: 생활코딩
https://www.youtube.com/watch?v=Ps8HDIAyPD0&list=PLuHgQVnccGMDeMJsGq2O-55Ymtx0IdKWf&index=1
http://redbyzan.github.io/writing/docker-favorite/