요약 :도커야 구동해. 이름은 webserver야 백그라운드로 포트는 호스트80포트와 컨테이터80포트를 연결해 뭐를? nginx 이미지를
ㄴ docker run --name webserver -d -p 80:80 nginx
image 조작 명령어
#도커 이미지 최신버전 다운
docker pull [이미지명:latest]
docker pull [이미지명]
#도커 이미지 특정버전 다운
docker pull [이미지명:버전]
#다운받은 이미지 확인
docker image ls
docker images
#도커 이미지 실행 (실행할 이미지가 없으면 도커 이미지를 다운받아 실행시켜줌) 많이 쓰인다 ★ ★ ★ ★ ★
ㄴ 요약 : create 와 start 작업을 한번에 시켜주고 포그라운드 상태로 실행시킨다
docker run [이미지]
옵션 : -d
중요도 : ★ ★ ★
설명 : 포그라운드가 아닌 백그라운드 상태로 실행시킨다.
옵션 사용방법 : docker run -d [이미지]
옵션 : --name
설명 : 이미지를 기반으로 생성한 컨테이너에 이름을 붙이는 기능
옵션 사용방법 : docker run -d --name [붙여줄 컨테이너 이름] [이미지]
옵션 : -p
중요도 : ★ ★ ★ ★ ★
설명 : 호스트의 포트와 컨테이너의 포트 연결
옵션 사용방법 : docker run -d --name [붙여줄 컨테이너 이름] -p [호스트 포트:컨테이너 포트] [이미지]
예시 : docker run -d -p 4000:80 nginx아래 이미지 참고
#컨네이너에서 사용하고 있지 않은 이미지 삭제
docker image rm [이미지ID 4자리 이상]
옵션 : -f
설명 : 컨네이너에서 사용중인 이미지더라고 강제 삭제
주의사항 : 컨테이너가 중단된 이미지만 삭제가능 실행중이라면 컨테이너를 중단후 명령어 실행
옵션 사용방법 : docker image rm -f [이미지ID 4자리 이상]
#컨테이너에서 사용하고 있지 않은 전체 이미지 모두 삭제
(파워쉘, 리눅스 등에서만 사용 가능 cmd 사용 불가능)
docker image rm $(docker images -q)
#컨테이너에서 사용중인 이미지 모두 강제 삭제
(파워쉘, 리눅스 등에서만 사용 가능 cmd 사용 불가능)
docker image rm -f $(docker images -q)
컨테이너 조작 명령어
#다운 받은 이미지에서 컨네이너 만들기 (다운받은 이미지가 없으면 다운받아 컨테이너 만들어 준)
docker create [이미지]
#컨테이너 모두 확인
docker ps -al
docker ps -a
#실행중인 컨테이너 확인 ★ ★ ★ ★ ★
docker ps
#도커 컨테이너 실행
docker start [컨테이너 ID 3자리 이상]
#도커 컨테이너 정지 (정상적으로 정지하고 안전하게 정지한다.)
docker stop [컨테이너 ID 3자리 이상]
#도커 컨테이너 강제 정지 (docker stop 명령어로 정지가 안될때 주로 사용하고 비정상적인 강제 정지버)
docker kill [컨테이너 ID 3자리 이상]
#도커 컨테이너 삭제
docker rm [컨테이너 ID 3자리 이상]
#정지되어 있는 컨테이너 모두 삭제
(파워쉘, 리눅스 등에서만 사용 가능 cmd 사용 불가능)
docker rm $(docker ps -qa)
#실행되고있는 컨테이너 모두 강제 삭제
(파워쉘, 리눅스 등에서만 사용 가능 cmd 사용 불가능)
docker rm -f $(docker ps -qa)
컨테이너 로그 확인 명령어
#컨테이너 로그 확인
docker logs [컨네이너ID 3자리 이상]
옵션 : -f
설명 : 로그를 실시간으로 확인하고 싶을때 사용
옵션 사용방법 : docker logs -f [컨네이너ID 3자리 이상]
옵션 : --tail [로그 확인 줄]
설명 : 로그를 마지막에서 몇줄만 확인하고 싶을때 사용
옵션 사용방법 : docker logs --tail 10 [컨네이너ID 3자리 이상]
응용 : 이전 로그말고 실시간 로그만 확인하고 싶을때
ㄴ docker logs --tail 0 -f [컨테이너ID]
포그라운드(foreground)
:내가 실행시킨 프로그램의 내용이 화면에서 실행되고 출력되는 상태. 보통 docker run [이미지]를 실행시키면 포그라운드로 실행되는데 이때 Ctrl + C 누르면 빠져나온
백그라운드(background)
:내가 실행시킨 프로그램이 컴퓨터 내부적으로 실행되는 상태를 의미함.
컨테이너 내부 접속하는 명령어
#컨테이너 내부 접속
docker exec -it [컨테이너ID 3자리 이상] bash
도커 볼륨 명령어
#[호스트의 디렉토리 절대 경로]에 디렉토리가 이미 존재할 경우, 호스트의 디렉토리가 컨테이너의 디텍토리를 덮어씌움
#[호스트의 디렉토리 절대 경로]에 디렉토리가 존재하지 않을 경우, 호스트의 디렉토리 절대 경로에 디렉토리를 새로 만들#고 컨테이너의 디렉토리에 있는 파일들을 호스트의 디렉토리로 복사해옴.
docker run -v [호스트의 디렉토리 절대경로]:[컨테이너의 디렉토리 절대경로] [이미지명]:[태그명]
도커 COMPOSE(컴포즈) 명령어
compose.yml 파일
services:
my-web-server:
container_name: web-server
image: nginx
ports:
- 80:80
compose.yml 실행
주의사항 : compose.yml 파일이 있는 경로에서 실행해야 함.
#포그라운드에서 실행
docker compose up
#백그라운드에서 실행
docker compose up -d
docker compose 명령어로 실행시킨 컨테이너 모두 실행 중지
#도커 compose로 실행 시킨 모든 컨테이너 실행중지
docker compose down
'DOCKER' 카테고리의 다른 글
[비전공자의 Docker ] Docker로 MySQL 실행시켜보기 및 오류 (1) | 2024.12.11 |
---|---|
[비전공자의 Docker ] Docker Volume(도커 볼륨) (0) | 2024.12.10 |
[비전공자의 Docker ] Docker / Container / Image 란? (2) | 2024.11.19 |
[docker기초4.] 도커 컴포포즈 (Docker Compose) 작성하기 (0) | 2024.05.30 |
[docker기초3-2.] 도커파일(Dockerfile)작성하기 -실습- (0) | 2024.05.29 |