이번 포스팅에서는 Docker의 기본 명령어들에 대해 포스팅하려고 합니다.
가장 기본적인 명령어입니다.
$ docker -- help
이 명령어로 docker에 있는 명령어들을 확인하고 배울 수 있습니다
$ docker run --help
이렇게 run이라는 명령어에 대한 정보들을 얻을 수 있습니다.
$ docker ps
Container의 목록을 확인할 수 있습니다.
기본적으로 이 명령어는 실행 중인 container만 보여줍니다.
현재 실행하고 있는 container는 없으므로 아무것도 뜨지 않습니다.
다음 명령어를 실행하면 현재까지 실행했던 container들에 대한 리스트를 확인할 수 있습니다.
$ docker ps -a
이전에 한번 실행하고 바로 종료되었던 hello-world 컨테이너들을 확인할 수 있습니다.
$ docker images
Docker의 이미지들을 확인할 수 있습니다.
$ docker pull [이미지 이름]
Docker 레지스트리에서 명시한 이미지를 pull 해옵니다. 만약 해당 이미지가 로컬에 존재하면, 해당 이미지를 업데이트해줍니다.
아래 사진은 images에 아무것도 없을 때 hello-world 이미지를 pull 하고 확인하는 것입니다.
$ docker rmi [이미지 이름]
Docker 이미지를 제거해줍니다.
$ docker images 명령어를 통해 현재 이미지들을 확인합니다.
$ docker rmi d11 명령어를 통해 이미지를 제거합니다.
여기서 d11은 고유하게 이미지를 확인할 수 있는 id입니다. 해당 이미지 id가 d1165f221234지만, d11까지만 입력해도 고유하게 식별할 수 있습니다.
예를 들어 이미지 2개의 아이디가 다음과 같이 있다고 가정합시다.
d1165f221234
d1165p125231
첫 번째 이미지를 삭제하려면 다음과 같이 명령어를 입력해야 합니다.
$ docker rmi d1165f
하지만 실행 중이지 않은 컨테이너에서 사용한 이미지라 삭제가 되지 않습니다.
이때 강제로 삭제하는 -f 옵션을 주어 이미지를 삭제해 줍니다.
$ docker images 명령어를 통해 이미지를 다시 확인해보면 삭제되어서 안 보이는 것을 확인할 수 있습니다.
$ docker rm [컨테이너 이름]
Container를 제거해줍니다.
앞서 언급한 $ docker ps -a 명령어를 통해 컨테이너 목록을 확인합니다.
제일 밑에 있는 4ad6cf058bbb 아이디를 갖는 컨테이너를 삭제해 보겠습니다.
삭제하고 다시 $ docker ps -a 명령어를 통해 컨테이너가 실제로 삭제된 것을 확인할 수 있습니다.
다음 명령어로 docker의 container전체를 삭제할 수도 있습니다.
$ docker rm `docker ps -a -q`
$ docker ps -a -q는 현재 있던 모든 컨테이너들의 아이디만 출력해줍니다.
$ docker create [이미지 이름]
명시한 이미지 이름으로 container를 하나 생성합니다.
$ docker start [컨테이너 이름]
해당 컨테이너를 실행해줍니다.
$ docker attach [컨테이너 이름]
해당 컨테이너에 입출력으로 붙습니다.
$ docker run [이미지 이름]
해당 이미지를 실행합니다.
run 명령어의 경우 다양한 옵션으로 다양한 작업을 할 수 있습니다.
$ docker run ubuntu : ubuntu 이미지를 실행하는데, 실행하자마자 stop 됨
$ docker run -d ubuntu : ubuntu 이미지를 실행하는데, 실행하자마자 stop 됨
$ docker run -itd ubuntu : 컨테이너를 생성하고 실행시킨다. 접근하려면 exec 명령어 사용
$ docker run -it ubuntu : 컨테이너를 실행시키고 접근한다.
$ docker run -it ubuntu bash : 컨테이너를 실행시키고 접근한다.
$ docker run -it ubuntu "ls" : 컨테이너를 실행시켜 ls 명령어를 실행하고 바로 나온다
$ docker run --rm -it ubuntu bash : 컨테이너 실행했다가 exit 할 때 컨테이너 삭제한다.
'Devops > Docker' 카테고리의 다른 글
[Docker] Nginx 사용해보기 (0) | 2021.06.10 |
---|---|
[Docker] Docker Life Cycle 이해하기 (0) | 2021.06.10 |
[Docker] Root계정 아닌 계정으로 Docker관리하기 (0) | 2021.06.10 |
[Docker] Hello World (0) | 2021.06.10 |
[Docker] Docker 시작하기 (0) | 2021.06.10 |
댓글