# 특정 태그 버전의 이미지 가져오기
docker pull redis:6.0.3-alpine3.11
# 최신 버전의 이미지 가져오기
docker pull redis
docker pull redis:latest
📍 주의할 점
dockerfile 작성시, 이미지를 최신 버전으로 가져오게 되면, 버전업이 되었을 때 기존과 다른 결과를 낼 수 있으므로, dockerfile 작성시에는 특정 태그 버전의 이미지를 가져오도록 해야한다.
# 다운로드 되어있는 도커 이미지 조회
docker images
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
# 도커 컨테이너 내의 경로와 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
# 더 이상 사용하지 않는 컨테이너 삭제
# 삭제전 실행 중인 컨테이너는 종료해야한다.
docker rm [컨테이너이름]
docker rm centos79
# 컨테이너 시작
docker start [컨테이너이름]
docker start centos79
# 컨테이너 종료
docker stop [컨테이너이름]
docker stop centos79
# 현재 실행중d인 컨테이너만 보기
docker ps
# 모든 컨테이너 조회하기 (all)
docker ps -a
# 컨테이너 ID 만 조회하기
docker ps -a -q
# 도커 컨테이너에서 발생하는 로그 확인
# 도커 컨테이너 생성했는데, 실행하면 즉시 종료되거나 할 때, 로그를 확인하는데 이용한다
docker logs 컨테이너이름
# exec 명령을 이용하여, 호스트에서 도커 컨테이너에 명령을 전달할 수 있다.
# 컨테이너 안에서 실행하는 것과는 조금 다르다.
# -i, --interactive=false: 표준 입력(stdin)을 활성화하며 컨테이너와 연결(attach)되어 있지 않더라도 표준 입력을 유지합니다. 보통 이 옵션을 사용하여 Bash에 명령을 입력합니다.
# -t, --tty=false: TTY 모드(pseudo-TTY)를 사용합니다. Bash를 사용하려면 이 옵션을 설정해야 합니다. 이 옵션을 설정하지 않으면 명령을 입력할 수는 있지만 셸이 표시되지 않습니다.
docker exec -it 컨테이너이름 전달할명령어
# 예시
docker exec -it redis603 redis-cli
# attach 명령을 이용하여 컨테이너로 입장할 수 있다.
docker attach centos68
# 아래 명령어로 하는 것과 같은 효과이다.
docker exec -it centos68 /bin/bash
# conatiner의 id가 표시되기때문에, 컨테이너 안에 있다는 것을 알 수 있다.
docker cp [source] [target]
docker cp [컨테이너명]:[컨테이너내부파일경로] [호스트]
docker cp container:/test/file.md ~/test
docker cp [호스트파일명] [컨테이너명]:[컨테이너내부경로]
docker cp ~/test/file.md container:/test
docker network ls