목차
1. Docker container command
1-1 container command
1-2 container command 환경변수
1. Docker container command
1-1 container command
※ container 명령어
# docker container | run | -[a, i, t, d, f, q . . .] | [-- name name] |
create | |||
start | |||
attach | |||
stats | |||
stop | |||
rm | |||
ps |
container 는 생략 가능하다.
컨테이너 생성 시 이름을 지정하지 않을 경우 자동으로 지정되나, 되도록 [-- name name] 을 통해 컨테이너의 이름을 직접 지정한다.
● create
컨테이너를 생성한다.
docker [container] create [옵션] image
※ 옵션
-a, --attach | 표준 입출력 접근 |
-i, --interactive | 컨테이너에 입출력 허용 |
-t, --tty | 터미널 할당 |
--rm | 컨테이너 종료 시 자동 삭제 |
--name name | 컨테이너 이름 지정 |
- 터미널에 입출력할 수 있도록 '-it'와 같이 함께 사용한다.
● start
컨테이너를 실행한다.
docker [container] start [옵션] container_name
※ 옵션
-a, -i | create와 동일 |
-d | 백그라운드에서 동작 |
- '-ai' 옵션을 통해 컨테이너 스타트와 동시에 접속 가능하다.
- 터미널 종료 시 exit로 종료하면 컨테이너도 종료된다. 터미널을 종료하더라도 컨테이너는 이용해야 하므로 ctrl+p+q로 종료하도록 한다.
● stats
컨테이너의 상태를 확인한다.
docker [container] stats container_name
● attach
컨테이너에 접속한다.
docker [container] attach container_name
● stop
컨테이너를 종료한다.
docker [container] stop container_name
● ps
컨테이너 목록을 확인한다.
docker [container] ps [옵션]
※ 옵션
-a | 모든 컨테이너 출력 (stop 포함) |
-q | 컨테이너 id만 출력 |
- '-q' 옵션은 유용하게 자주 쓰인다.
● inspect
컨테이너의 상세 정보를 출력한다.
docker [container] inspect container_name
● rm
컨테이너를 삭제한다.
docker [container] rm [옵션] container_name [container_name ...]
- container_name 대신 container_id도 가능하다.
※ 옵션
-f | 실행중인 컨테이너도 삭제 |
- 일반적인 rm으로 실행중인 mycentos 삭제가 불가하므로 '-f' 옵션을 이용한다.
- id를 이용한 삭제도 가능하다.
모든 컨테이너를 삭제할 경우 일일이 적기는 매우 번거로우므로 다음과 같은 명령어를 이용하여 모든 컨테이너를 삭제할 수 있다.
docker rm ‐f $(docker ps -aq)
- $ 뒤의 명령어에 대한 실행값을 rm -f 한다. 즉, 모든 컨테이너 id를 검색하여 삭제한다.
모든 컨테이너 삭제 명령어를 alias로 설정하여 간단히 이용 가능하다.
이때 alias로 설정한 것은 서버 재시작 시 없어지므로 설정파일에 alias 설정을 저장하여 이용한다.
# vi /etc/profile
. . .
alias dcrm='docker rm ‐f $(docker ps ‐aq)'
. . .
- 특정 계정 적용 설정파일 경로: 해당 계정 홈 디렉토리/.bash_profile
- 모든 계정 적용 설정파일 경로: /etc/profile
● run
컨테이너를 생성과 시작을 동시 진행한다. 때문에 create -> start 보다는 run을 주로 사용한다.
docker [container] run option ‐‐name <name> <image>
컨테이너 생성 시 적당한 옵션은 필수적이다.
- 적당한 옵션 없이 컨테이너 생성 시 정상적인 실행이 되지 않는다.
1-2 container command 환경변수
컨테이너를 실행할 때 mysql과 같이 환경변수를 필수적으로 필요로 하는 것들도 많다.
컨테이너의 환경 변수를 지정한다.
docker [container] run [‐e, ‐‐env‐file ...] ‐‐name <name> <image>
※ 옵션
-e 환경변수 | 환경변수 지정 |
--env-file = 파일 | 환경변수 파일 지정 |
다음과 같이 환경변수를 이용하여 유저 로그인이 가능하다. 이미지에 따른 환경변수는 도커 허브에서 확인한다.
- exec 명령어는 해당 컨테이너 안의 프로그램을 실행할 때 이용한다. 즉, mysql 컨테이너의 /bin/bash 쉘을 실행한다.
- '-p' 이후 적는 패스워드는 '-p'와 붙여 적으므로 주의한다.
- 컨테이너 안의 쉘에서 mysql 클라이언트에 접속한 것이므로 exit를 두 번 해도 컨테이너는 종료되지 않는다.
다음과 같이 환경변수 파일을 이용하여 유저 로그인이 가능하다.
- 컨테이너 안의 mysql 클라이언트에 접속한 것이므로 exit를 해도 컨테이너는 종료되지 않는다.
** 현재 작업 중인 곳을 제대로 인지하는 것이 중요하다.
'일일 정리' 카테고리의 다른 글
Docker Network (0) | 2025.05.23 |
---|---|
Container & Process (0) | 2025.05.22 |
Docker Command, Docker Image & HUB (2) | 2025.05.19 |
DOCKER (0) | 2025.05.16 |
SQL 인젝션 방어 (1) | 2025.05.15 |