일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gcp 아키텍처
- VPC
- 영림원erp
- python 개발환경 설정
- 볼륨
- AWS
- 네트워크
- 도커
- nat
- ACL
- EC2
- erp 구축프로젝트
- 운영
- aws와 gcp 비교
- WAF
- 로드밸런싱
- python 이란
- iam
- 방화벽
- 데이터베이스
- GCP
- 멀티리전
- 보안그룹
- route53
- 정책설정
- SSL
- 서버
- gcp기본구조
- vpn
- 파이썬 개발 환경 설정
- Today
- Total
혜잉이의 소소한 공간
[docker] Docker 환경 복습 본문
@ 제3장 Docker 기본 동작 확인
Docker 이미지 다운로드 및 컨테이너 구동 예제
1) 다음과 같은 이미지를 도커허브 사이트와 'docker search' 명령어를 이용하여 검색한다.
- centos
- ubuntu
- nginx
- debian
docker search centos
docker search ubuntu
docker search nginx
docker search debian
2) 검색이 완료되었다면, 이미지를 다운로드한다.
docker image pull centos
docker image pull ubuntu
docker image pull nginx
docker image pull debian
3) 다운로드 받은 이미지를 이용하여 '-itd' 옵션과 함께 각각의 컨테이너를 구동한다.
docker container run --name test1 centos
docker container run --name test2 ubuntu
docker container run --name test3 nginx
docker container run --name test4 debian
4) 컨테이너가 구동된 이후, 각각의 컨테이너의 'COMMAND' 내용이 무엇인지 확인한다.
- 백그라운드로 동작하도록 명령어를 실행하지 않았으므로 한번 실행후 종료되는 형태임을 확인할 수 있음
5) '-f' 옵션을 이용하여 모든 컨테이너를 강제로 삭제한다.
docker container rm -f webserver
6) 모든 이미지를 삭제한다.
crm
- 별칭으로 등록해놨으므로 바로 삭제 가능
@ 제6장 Docker 컨테이너 관리
Docker 컨테이너 관리 예제
1) test1 컨테이너
- centos 이미지 사용
- 컨테이너 구동시 'cat /etc/os-release' 명령이 실행되고 컨테이너는 바로 삭제되도록 한다.
docker container run -d --rm --name test1 centos echo `cat /etc/os-release
2) test2 컨테이너
- centos 이미지 사용
- test2 컨테이너의 bash 쉘이 실행된 터미널 환경에서 'cat /etc/os-release' 명령을 실시한다.
- 컨테이너에서 'exit' 명령을 실행하여 bash 쉘을 종료하면 컨테이너가 바로 삭제되도록 한다.
docker container run -it --rm --name test2 centos
3) test3 컨테이너
- nginx 이미지 사용
- test3 컨테이너의 bash 쉘이 실행된 터미널 환경에서 'cat /etc/os-release' 명령을 실시한다.
- 컨테이너에서 'exit' 명령을 실행하여 bash 쉘을 종료하면 컨테이너가 바로 삭제되도록 한다.
docker container run -it --rm --name test3 nginx /bin/bash
4) test4 컨테이너
- nginx 이미지 사용
- test4 컨테이너를 백그라운드로 실행하고 웹-서버로 동작하도록 한다.
- 또한, '-p 80:80' 옵션을 사용하여 PC 브라우저에서 'http://192.168.2.10'을 실행하여 접속되도록 한다.
- 컨테이너를 'stop' 명령으로 종료하면 컨테이너가 바로 삭제되도록 한다.
docker container run -d --rm --name test4 -p 80:80 nginx
docker container stop test4
예제가 완료되었다면 모든 컨테이너, 이미지를 삭제한다.
# docker container rm -f $(docker container ls -aq)
# docker image rm -f $(docker image ls -aq)
@ 제8장 Docker 컨테이너 네트워크 관리
Ex) Docker 컨테이너 네트워크 설정 예제
- 'systemctl restart docker' 명령을 실행하여 도커를 재시작한다.
systemctl restart docker
- testnet1, testnet2 네트워크를 브리지 유형으로 생성한다.
docker network create -d bridge tesnet1
docker network create -d bridge tesnet2
- CentOS 이미지를 이용하여 myweb1(포트 8001:80), myweb2(포트 8002:80) 컨테이너를 구성한다.
- myweb1 컨테이너는 testnet1 네트워크를 이용하여 백그라운드로 구동한다.
docker container run -itd --rm --name myweb1 -p 8001:80 --network=tesnet1 centos
- myweb2 컨테이너는 testnet2 네트워크를 이용하여 백드라운드로 구동한다.
docker container run -itd --rm --name myweb2 -p 8002:80 --network=tesnet2 centos
1) myweb1 컨테이너의 Bash 쉘을 실행하여 ip 관련 정보(ip address, ip route)을 확인하고 'exit' 한다.
# docker container exec -it myweb1 /bin/bash
2) myweb2 컨테이너의 Bash 쉘을 실행하여 ip 관련 정보(ip address, ip route)을 확인하고, myweb1 컨테이너로 ping 테스트를 실시한다.
# docker container exec -it myweb2 /bin/bash
- ping 테스트가 완료되었다면, 'exit' 한다.
3) myweb1, myweb2 컨테이너 및 testnet1, testnet2 네트워크를 삭제한다.
crm
docker network rm tesnet1
docker network rm tesnet2
4) 'systemctl restart docker' 명령을 실행하여 도커를 재시작한다.
'Cloud > Dock & Kubernetes' 카테고리의 다른 글
[docker#7] 이미지 생성 (0) | 2025.03.01 |
---|---|
[docker#6] 리소스 제한 및 모니터링 (0) | 2025.02.28 |
[docker#5] portainer 이용 (0) | 2025.02.28 |
[docker#4] 네트워크 관리 (0) | 2025.02.22 |
[docker#3] 볼륨 (0) | 2025.02.22 |