Docker 명령어 모음

Docker 명령어 모음

Posted by Damin on May 23, 2020

환경

  • Ubuntu 18.04
  • XShell 6 (무료 버전)
  • Docker version 19.03.9

Docker 설치

1
curl -fsSL https://get.docker.com/ | sudo sh

기본적으로 태그 설정이 없다면, latest이다.


Docker 명령어 (Docker)

  • Docker 상태 확인
1
systemctl status docker
  • Docker 시작
1
systemctl start docker
  • Docker daemon 부팅시 자동으로 실행 설정
1
systemctl enable docker
  • Docker version 확인
1
docker --version
  • Docker 이미지 검색
1
docker search [원하는 이미지]
  • Docker 이미지 받아오기
1
docker pull [이미지 이름]:[태그]

Docker 명령어 (Container)

  • 이미지를 통해 Container 생성
1
sudo docker create [옵션] [이미지 이름 or 이미지 아이디]:[태그]
  • Container 실행
1
sudo docker start [Container 이름 or Container 아이디]
  • Container 들어가기 (docker 내부 쉘)
1
sudo docker attach [Container 이름 or Container 아이디]
  • Container 생성, 실행, 들어가기 (한 번에 실행 -> 흔히 사용한다)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sudo docker run [옵션] [이미지 이름 or 이미지 아이디]:[태그]

옵션

-d : 백그라운드로 실행

-p [호스트 포트]:[Docker 포트] : 포트 매핑 (ex. sudo docker -p 8080:9090 = Ubuntu 8080 port로 들어오는 것을 docker 9090포트에 매핑 시키겠다!)

-v [호스트 볼륨]:[Docker 볼륨] : 호스트와 볼륨 공유

--name [원하는 Container의 이름] : 설정 안하면 랜덤으로 name 부여

-u [권한]

ex) sudo docker run -d -p 9000:8080 -v /home/ubuntu/jenkins /var/jenkins_home --name jenkins -u root jenkins/jenkins:latest
  • Container 로그 확인
1
sudo docker logs [Container 이름 or Container 아이디]
  • 동작중인 Container 확인
1
2
sudo docker ps
sudo docker container ls
  • 동작중 && 정지된 Container 확인
1
2
sudo docker ps -a
sudo docker container ls -a
  • Container 삭제
1
2
3
4
5
sudo docker rm [Container 이름 or Container 아이디]

옵션

-f : 강제 삭제
  • 모든 Container 삭제
1
sudo docker prune
  • Container 이름 변경
1
docker rename [기존 이름] [변경하고 싶은 이름]
  • Container Commit
1
docker commit [Container 이름 or Container ID] [이미지 이름]:[태그]

Docker 명령어 (image)

  • 이미지 목록
1
sudo docker images
  • 이미지 tag 변경
1
docker tag [이미지 이름]:[태그] [원하는 이미지 이름]:[원하는 태그]
  • 이미지 삭제
1
2
3
4
5
sudo docker rmi [이미지 이름 or 이미지 아이디]

옵션

-f : 강제 삭제
  • 이미지 Docker hub에 push
1
2
3
4
5
6
7
8
9
docker push [이미지 이름]:[태그]

push를 하기 위해서는, Docker hub에 로그인을 해야 한다.

-> docker login

또, 이미지 repository와 자신 docker 아이디가 같아야 한다.

ex) docker id = abcd, image = abcd/jenkins:test
  • Docker image를 외부 파일 image로 생성
1
2
3
docker save -o [원하는 이름].tar [저장하고 싶은 이미지 이름]:[태그]

압축은 별도로 해줘야 한다.
  • image 파일을 Docker 내부로 load
1
docker load -i [이미지 파일 이름].tar