Docker) Docker Container Run 옵션 실습해보기
실습 환경 : AWS console (2022/09), Visual Studio
실습 목적 : Docker Container Run명령의 옵션을 알아보고 사용해보기
1. Docker Container Run명령
자동삭제 - rm 옵션
(1) run 명령에 --rm옵션을 추가하여 실행
docker run -it --rm --name ubuntu1804 ubuntu:18.04 /bin/bash # 옵션형식: --rm
# --rm 옵션을 사용하면 container가 종료될때 자동으로 container를 삭제한다.
(2) 다른 프로세스에서 docker ps 명령을 입력해서 container가 실행중인지 확인
docker ps
# 이름이 ubuntu1804 인 container가 실행중(UP)인것을 확인한다.
(3) container 접속 해제
# exit를 입력하여 container와의 접속을 해제한다.
(4) 모든 container 목록을 확인하여 해당 container가 삭제 되었는지 확인
docker ps -a
# run 명령 실행시, --rm 옵션을 사용하지 않으면 container 상태가 Exited 상태여야한다.
# --rm 옵션을 사용해서 container는 남아있지 않고 삭제되었다.
2. Docker Container Run명령
Daemon모드 - dit 옵션
(1) run 명령에 -dit 옵션을 추가하여 실행
docker run -dit -p 80:80 --name webserver nginx # 옵션형식: -dit
# -dit 옵션을 사용하면 백그라운드로 실행되며 터미널 상태로 상호작용이 가능하다.
# container 생성과 동시에 UP(실행)상태로 설정되어있다.
(2) exec 명령으로 container에 명령내리기
docker exec -it webserver /bin/bash
# -it 옵션으로 생성한 container와 마찬가지로 exec 명령으로 container에 명령을 내릴 수 있다.
3. Docker Container Run명령
환경변수 설정 - e 옵션
(1) run 명령에 -e 옵션을 추가하여 실행
docker run -dit --name linuxserver -e VAR1=Ubuntu18.04 -e VAR2=LinuxServer ubuntu:18.04 # 옵션형식: -e <변수명>=<변수값>
# -e 옵션을 사용하면 container 내에 환경변수를 설정하여 사용할 수 있다.
# container 생성과 동시에 UP(실행)상태로 설정되어있다.
(2) exec 명령으로 container에 변수가 생성되었는지 확인
docker exec -it linuxserver /bin/bash # container 안에서 특정변수를 찾기위한 명령입력 export | grep -E "Ubuntu18.04|LinuxServer"
# container에 변수 VAR1과 VAR2가 정상적으로 등록되었다.
4. Docker Container Run명령
메모리 제한 - m 옵션
(1) 메모리 사용량 비교를 위해 m옵션을 사용한 container와 사용하지 않은 container를 생성
docker run -dit --rm --name linuxserver1 ubuntu:18.04 docker run -dit --rm --name linuxserver2 ubuntu:18.04 docker run -dit -m 1g --rm --name linuxserver3 ubuntu:18.04 # 옵션형식: -m <숫자><단위>
# -m 옵션을 사용하면 메모리 사용량을 제한할 수 있다.
# 메모리 사용량 비교를 위해 container 3개를 생성하였다.
# 단위로는 b,k,m,g를 사용할 수 있다.
(2) docker 실시간 구동 확인
docker container stats # or docker stats
# m 옵션을 사용하지 않은 두 container의 MEM LIMIT는 특정 값으로 고정되어있다.
# m 1g 를 지정한 container의 MEM LIMIT는 1GiB로 설정되어있다.
5. Docker Container Run명령
CPU 사용 제한 - cpu-shares 옵션
(1) run 명령에 --cpu -shares 옵션을 추가하여 container 두개 생성docker run -dit --cpu-shares 512 --rm --name linuxserver1 ubuntu:18.04 docker run -dit --cpu-shares 512 --rm --name linuxserver2 ubuntu:18.04
# --cpu-shares 옵션을 사용하면 container간 상대적인 CPU사용량을 제어할 수 있다.
# 기본 container의 cpu-shares 값은 1024로 설정되어있다.