728x90
반응형
다양한 유형의 컨테이너를 알아보고, 그 중 apache 컨테이너 여러 개를 직접 실행해보자.
리눅스 운영체제가 담긴 컨테이너
- 리눅스 운영체제 컨테이너는 커너테이너 속 파일 시스템을 다루는 것을 전제하므로, 인자로 셸 명령어를 지정한다.
이미지 이름 | 컨테이너의 내용 | 컨테이너 실행에 주로 사용되는 옵션 및 인자 |
ubuntu | 우분투 | -d 없이 -it 옵션만 사용. 인자로는 /bin/bash 등 셸 명령어를 지정한다. |
centos | CentOS | -d 없이 -it 옵션만 사용. 인자로는 /bin/bash 등 셸 명령어를 지정한다. |
debian | 데비안 | -d 없이 -it 옵션만 사용. 인자로는 /bin/bash 등 셸 명령어를 지정한다. |
fedora | 페도라 | -d 없이 -it 옵션만 사용. 인자로는 /bin/bash 등 셸 명령어를 지정한다. |
busybox | BizyBox | -d 없이 -it 옵션만 사용. 인자로는 /bin/bash 등 셸 명령어를 지정한다. |
alpine | 알파인 리눅스 | -d 없이 -it 옵션만 사용. 인자로는 /bin/bash 등 셸 명령어를 지정한다. |
웹 서버/데이터베이스 서버용 컨테이너
- 웹 서버는 통신이 전제가 되므로, 옵션을 통해 포트 번호를 지정해야 한다.
- 데이터베이스 서버는 기본적으로 루트 패스워드를 반드시 지정해야 한다.
이미지 이름 | 컨테이너의 내용 | 컨테이너 실행에 주로 사용되는 옵션 및 인자 |
httpd | Apache | -d로 백그라운드 실행. -pㄹ 포트 번호 지정 |
nginx | Nginx | -d로 백그라운드 실행. -pㄹ 포트 번호 지정 |
mysql | MySQL | -d를 사용. 실행 시 -e MYSQL_ROOT_PASSWORD와 같이 루트 패스워드를 지정 |
postgres | PostgreSQL | -d를 사용. 실행 시 -e POSTGRES_ROOT_PASSWORD와 같이 루트 패스워드를 지정 |
mariadb | MariaDB | -d를 사용. 실행 시 -e MYSQL_ROOT_PASSWORD와 같이 루트 패스워드를 지정 |
프로그램 실행을 위한 런타임과 그 외 소프트웨어
- 프로그램을 실행하려면 해당 언어의 실행 환경인 런타임이 필요하다. 런타임 역시 컨테이너 형태로 제공된다.
이미지 이름 | 컨테이너의 내용 | 컨테이너 실행에 주로 사용되는 옵션 및 인자 |
openjdk | 자바 런타임 | -d를 사용하지 않고, 인자로 java 명령 등을 지정해 도구 형태로 사용한다. |
python | 파이썬 런타임 | -d를 사용하지 않고, 인자로 python 명령 등을 지정해 도구 형태로 사용한다. |
php | PHP 런타임 | 웹 서버가 포함된 것과 실행 명령만 포함된 것으로 나뉘어 제공된다. |
ruby | 루비 런타임 | 웹 서버가 포함된 것과 실행 명령만 포함된 것으로 나뉘어 제공된다. |
perl | 펄 런타임 | -d를 사용하지 않고, 인자로 perl 명령 등을 지정해 도구 형태로 사용한다. |
gcc | C/C++ 컴파일러 | -d를 사용하지 않고, 인자로 gcc 명령 등을 지정해 도구 형태로 사용한다. |
node | Node.js | -d를 사용하지 않고, 인자로 app 명령 등을 지정해 도구 형태로 사용한다. |
registry | 도커 레지스트리 | -d 옵션을 사용해 백그라운드로 실행하며, -p 옵션으로 포트 번호를 지정한다. |
wordpress | WordPress | -d 옵션을 사용해 백그라운드로 실행하며, -p 옵션으로 포트 번호를 지정한다. MySQL 또는 MariaDB가 필요하다. 접속에 필요한 패스워드는 -e 옵션으로 지정한다. |
nextcloud | NextCloud | -d 옵션을 사용해 백그라운드로 실행한다. -p 옵션으로 포트 번호를 지정한다. |
redmine | Redmine | -d 옵션을 사용해 백그라운드로 실행하며, -p 옵션으로 포트 번호를 지정한다. PostgreSQL 또는 MySQL이 필요하다. |
실습내용
생성할 컨테이너의 정보
항목 | 값 | 값 | 값 |
컨테이너 이름 | apa00ex3 | apa00ex4 | apa00ex5 |
이미지 이름 | httpd | httpd | httpd |
포트 설정 | 8081:80 | 8082:80 | 8083:80 |
1. run 명령어 실행
- 비슷한 명령어를 여러 번 입력할 때는, 윗 방향 방향키를 눌러 이전 명령어를 불러와 사용하자
- 터미널 창에 입력할 명령어
- docker run --name apa00ex3 -d -p 8081:80 httpd
- docker run --name apa00ex4 -d -p 8082:80 httpd
- docker run --name apa00ex5 -d -p 8083:80 httpd
2. ps 명령어를 사용해, 컨테이너가 실행 중인지 확인
- STATUS 항목의 값이 'Up'이라고 나오면 컨테이너가 실행 중이라는 뜻이다.
3. 웹 브라우저를 통해 아파치에 접근할 수 있는지 확인
- 웹 브라우저에서 아래 주소로 접근해 아파치 초기화면이 나타나는지 확인한다.
- http://localhost:8081
- http://localhost:8082
- http://localhost:8083
4. stop 명령어를 사용해, 컨테이너 종료
- 터미널 창에 입력할 명령어
- docker stop apa00ex3
- docker stop apa00ex4
- docker stop apa00ex5
5. rm 명령어를 사용해 컨테이너 삭제
- 터미널 창에 입력할 명령어
- docker rm apa00ex3
- docker rm apa00ex4
- docker rm apa00ex5
6. ps 명령어와 인자를 사용해, 컨테이너가 삭제됐는지 확인
- 터미널 창에 입력할 명령어: docker ps -a
728x90
'docker & kubernetes' 카테고리의 다른 글
도커 사용방법 15 | Docker&Kubernetes 학습 22 (0) | 2024.11.25 |
---|---|
도커 사용방법 14 | Docker&Kubernetes 학습 21 (0) | 2024.11.24 |
도커 사용방법 12 | Docker&Kubernetes 학습 19 (0) | 2024.11.22 |
도커 사용방법 11 | Docker&Kubernetes 학습 18 (2) | 2024.11.21 |
도커 사용방법 10 | Docker&Kubernetes 학습 17 (2) | 2024.11.20 |