● 설치 (CentOS)
참고 : https://docs.docker.com/engine/install/centos/
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-nightly
yum-config-manager --enable docker-ce-test
yum install -y docker-ce docker-ce-cli containerd.io --allowerasing
# 시작
systemctl restart docker
systemctl enable docker
● 실행
docker run -it [repository 명]/[실행하고 싶은 이미지]:[버전] 쉘
# (ex) docker run -it ubuntu bash
# 이미지 : docker hub 에서 확인
# 이미지 내려받기 : docker pull [이미지]:[버전]
# -i : input - 키보드 입력을 표준 입력으로 쉘에 전달
# -t : terminal - 터미널 디바이스와 쉘을 연결
# -it : 프로그램을 화면에 띄움
》 -d : background 로 실행 ( -it 와 반대 )
(ex) docker run -d centos:latest
》 --name : 컨테이너 이름 지정
(ex) docker run -it --name centos7 centos:7 bash
》 bash 종료 : exit / ctrl + d (컨테이너 종료) / ctrl + p,q (컨테이너 종료 안하고 빠져나오기)
● 컨테이너 생성
# container 생성
docker create -it [이미지] # 꺼져있음
# container id 확인
docker ps # 현재 실행 중인 컨테이너
docker ps -a # 모든 컨테이너 출력 - 꺼져 있는 프로그램도 확인 가능
docker ps -a -q # 컨테이너 ID만 출력
# 시작
docker start [container id]
# 들어가기
docker attach [container id]
● 종료
# container 종료
docker stop [container id]
# container 삭제
docker rm [container id] # 중지된 컨테이너만 삭제 가능
docker rm -f [container id] # 실행 중인 컨테이너 삭제 가능
# 중지된 모든 컨테이너 삭제
docker container prune
# 모든 컨테이너 정지 및 삭제
docker stop $(docker ps -a -q) # 정지
docker rm -f $(docker ps -a -q) # 삭제
● 이미지 만들기
docker commit [이름] [이미지 이름]:[버전]
# 이미지 빌드
docker build --tag [이미지 이름]:[버전] [도커파일 경로]
# 이미지 목록 확인
docker images
# 이미지 삭제
docker rmi -f [image id]
# 실행
docker run [이미지 이름]:[버전]
● 포트포워딩
docker run --name some-nginx -p 9999:80 -d nginx
# 9999번 포트로 찾아오면 80번 포트로 넘겨줌
# 도커의 네트워크는 방화벽이 켜져 있어야 함
'CLOUD > Docker&Kubernetes' 카테고리의 다른 글
[Docker/Linux] 도커 네트워크 확인하기 (0) | 2023.04.20 |
---|---|
[Docker/Linux] 가상 네트워크 - 브릿지 장비로 통신하기 (도커없이) (0) | 2023.04.20 |
[Docker/Linux] 가상 네트워크 설정하기 (0) | 2023.04.20 |
[Docker/Pycharm] Nginx - Gunicorn - MySQL 3계층 연동하기 (0) | 2023.04.19 |
[Docker/Linux] 컨테이너 개발하기 (0) | 2023.04.19 |