[Docker] 명령어 모음

김포크레인·2022년 8월 5일
0

Docker

목록 보기
1/2
post-thumbnail

내가 보려고 모아놓는 Docker 명령어

도커 이미지 가져오기 (pull)

# 특정 태그 버전의 이미지 가져오기
docker pull redis:6.0.3-alpine3.11

# 최신 버전의 이미지 가져오기
docker pull redis
docker pull redis:latest

📍 주의할 점
dockerfile 작성시, 이미지를 최신 버전으로 가져오게 되면, 버전업이 되었을 때 기존과 다른 결과를 낼 수 있으므로, dockerfile 작성시에는 특정 태그 버전의 이미지를 가져오도록 해야한다.

도커 이미지 검색 (images)

# 다운로드 되어있는 도커 이미지 조회
docker images

도커 이미지 삭제 (remove image)

docker rmi IMAGE_ID

도커 컨테이너 생성 - 기본

# -d 옵션은 demonize 옵션이다.
# 백그라운드 데몬으로 실행시키기 위해 사용한다. (이 옵션없이 실행하면, 실행시킨 계정이 꺼지면 함께 꺼진다.

docker run --name [컨테이너이름] -d [도커이미지:태그]

# 예시
docker run --name redis603 -d redis:6.0.3-alpine3.11
docker run -it --name centos79 -d centos:centos7.9.2009 /bin/bash

도커 컨테이너 생성 - 볼륨마운트 (volume mount)

# 도커 컨테이너 내의 경로와 docker 시스템의 경로를 마운트 시켜준다.
# 컨테이너 내부로 들어가지 않고도, host에서 파일을 수정, 조회, 삭제 할 수 있다.
# 컨테이너간 통신이 가능해진다.

docker run --name [컨테이너이름] -v [호스트경로:컨테이너경로] -p [호스트포트:컨테이너포트] -d [도커이미지:태그]

# 예시
docker run --name redis603 -v /tmp:/data -p 6379:6379 -d redis:6.0.3-alpine3.11
docker run -it --name centos79 -v /tmp:/temp -p 6380:6370 -d centos:centos6.8 /bin/bash

도커 컨테이너 삭제 (remove)

# 더 이상 사용하지 않는 컨테이너 삭제
# 삭제전 실행 중인 컨테이너는 종료해야한다.
docker rm [컨테이너이름]
docker rm centos79

도커 컨테이너 시작/종료 (start/stop)

# 컨테이너 시작
docker start [컨테이너이름]
docker start centos79

# 컨테이너 종료
docker stop [컨테이너이름]
docker stop centos79

도커 컨테이너 프로세스 조회 (process)

# 현재 실행중d인 컨테이너만 보기
docker ps

# 모든 컨테이너 조회하기 (all)
docker ps -a

# 컨테이너 ID 만 조회하기
docker ps -a -q

도커 로그 조회 (log)

# 도커 컨테이너에서 발생하는 로그 확인
# 도커 컨테이너 생성했는데, 실행하면 즉시 종료되거나 할 때, 로그를 확인하는데 이용한다
docker logs 컨테이너이름

도커 컨테이너에 명령하기 1 - 호스트에서

# exec 명령을 이용하여, 호스트에서 도커 컨테이너에 명령을 전달할 수 있다.
# 컨테이너 안에서 실행하는 것과는 조금 다르다.
# -i, --interactive=false: 표준 입력(stdin)을 활성화하며 컨테이너와 연결(attach)되어 있지 않더라도 표준 입력을 유지합니다. 보통 이 옵션을 사용하여 Bash에 명령을 입력합니다.
# -t, --tty=false: TTY 모드(pseudo-TTY)를 사용합니다. Bash를 사용하려면 이 옵션을 설정해야 합니다. 이 옵션을 설정하지 않으면 명령을 입력할 수는 있지만 셸이 표시되지 않습니다.

docker exec -it 컨테이너이름 전달할명령어

# 예시
docker exec -it redis603 redis-cli

도커 컨테이너에 명령하기 2 - 컨테이너 안에서

# attach 명령을 이용하여 컨테이너로 입장할 수 있다.
docker attach centos68

# 아래 명령어로 하는 것과  같은 효과이다.
docker exec -it centos68 /bin/bash

# conatiner의 id가 표시되기때문에, 컨테이너 안에 있다는 것을 알 수 있다.

도커 파일 복사 (copy)

docker cp [source] [target]

Container -> Host

docker cp [컨테이너명]:[컨테이너내부파일경로] [호스트]
docker cp container:/test/file.md ~/test
Host -> Container
docker cp [호스트파일명] [컨테이너명]:[컨테이너내부경로]
docker cp ~/test/file.md container:/test

도커 네트워크 조회

docker network ls
profile
프로그래머

0개의 댓글