반응형

 

 

Docker

Ubuntu 환경에서 Docker 명령어 사용하기


 

Ubuntu 20.04.4 LTS 환경으로 테스트 진행

 

 

 

 

 

Docker start 명령으로 컨테이너 동작하기

 

start 명령어는 정지된 hello 컨테이너를 동작하게 만듭니다.

명령어 사용 전 
$ sudo docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED      STATUS                    PORTS     NAMES
750026f56674   ubuntu    "bash"        3 days ago   Exited (0) 3 days ago               jinsu
68bf744c5a56   ubuntu    "/bin/bash"   3 days ago   Exited (127) 3 days ago             hello
$
$ sudo docker start [NAMES] or [CONTAINER ID]

EX)
$ sudo docker start hello
hello
$ 

명령어 사용 후
$ sudo docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED      STATUS                  PORTS     NAMES
750026f56674   ubuntu    "bash"        3 days ago   Exited (0) 3 days ago             jinsu
68bf744c5a56   ubuntu    "/bin/bash"   3 days ago   Up 5 seconds                      hello
$
  • 사용 전 Exited 3 days ago 상태였는데 start 명령어를 사용하여 Up 5 seconds 상태가 되었습니다.

 

 

Docker restart 명령으로 컨테이너 재시작하기

 

restart 명령어는 PC를 재부팅하는 것처럼 컨테이너를 재시작하게 만들어 줍니다.

명령어 사용 전
$ sudo docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED      STATUS                  PORTS     NAMES
750026f56674   ubuntu    "bash"        3 days ago   Exited (0) 3 days ago             jinsu
68bf744c5a56   ubuntu    "/bin/bash"   3 days ago   Up 8 minutes                      hello
$ 

$ sudo docker restart [NAMES] or [CONTAINER ID]
EX)
$ sudo docker restart hello
hello
$ 

명령어 사용 후
$ sudo docker ps -a        
CONTAINER ID   IMAGE     COMMAND       CREATED      STATUS                  PORTS     NAMES
750026f56674   ubuntu    "bash"        3 days ago   Exited (0) 3 days ago             jinsu
68bf744c5a56   ubuntu    "/bin/bash"   3 days ago   Up 2 seconds                      hello
$
  • 사용 전 Up 8 minutes 상태였는데 restart 재시작 후 Up 2 seconds 상태가 되었습니다.

 

 

 

 

Docker attach 명령으로 컨테이너에 접속하기

 

attach 명령어는 생성하여 동작 상태인 컨테이너에 접속하는 명령입니다.

$ sudo docker ps -a        
CONTAINER ID   IMAGE     COMMAND       CREATED      STATUS                  PORTS     NAMES
750026f56674   ubuntu    "bash"        3 days ago   Exited (0) 3 days ago             jinsu
68bf744c5a56   ubuntu    "/bin/bash"   3 days ago   Up 2 seconds                      hello
$

$ sudo docker attach [NAMES] or [CONTAINER ID]

EX)
$ sudo docker attach hello
root@68bf744c5a56:/#

컨테이너를 생성할때 /bin/bash 설정은 안해줬을때 아래 옵션으로 접속
$ sudo docker exec -it [이미지 이름] /bin/bash
root@0ebf237f91f0:/#
  • 사전에 컨테이너를 생성할 때 /bin/bash를 실행하여 컨테이너에 접속핵서 자유롭게 입력 출력이 가능합니다.
  • Bash 셸에서 exit 또는 Ctrl + D를 입력하면 컨테이너가 정지되면서 접속이 끊어지게 됩니다.
  • Ctrl + P, Ctrl + Q를 순서대로 입력하면 컨테이너를 정지하지 않고 컨테이너에서 나오게 됩니다.

 

 

 

Docker exec 명령으로 외부에서 컨테이너 안의 명령 실행하기

 

exec 명령어는 컨테이너의 /bin/bash를 통해 접속하여 입출력하는 것이 아닌 외부에서 컨테이너 안의 명령을 실행하는 명령입니다.

명령어를 실행하려면 컨테이너가 Up 상태에서만 가능합니다.
$ sudo docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED      STATUS                    PORTS     NAMES
750026f56674   ubuntu    "bash"        3 days ago   Exited (0) 16 hours ago             jinsu
68bf744c5a56   ubuntu    "/bin/bash"   4 days ago   Up 16 hours                         hello
$ 

$ sudo docker exec [NAMES] [명령] [매개 변수]

EX)
$ sudo docker exec hello echo "Good day"
Good day
$

EX)
$ sudo docker exec hello apt-get update
Get:1 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [4653 B]
Get:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [109 kB]
Get:5 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [156 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Get:7 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [159 kB]
Get:8 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [71.8 kB]
Get:9 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]
Get:10 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]
Get:11 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]
Get:12 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]
Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [4653 B]
Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [277 kB]
Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [157 kB]
Get:16 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [126 kB]
Get:17 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [1202 B]
Fetched 21.2 MB in 5s (4319 kB/s)
Reading package lists...
$

 

 

 

 

 

Docker stop 명령으로 컨테이너 정지시키기

 

stop 명령어는 Up상태, 동작중인 상태의 컨테이너를 정지시키는 명령입니다.

명령어 사용 전
$ sudo docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED      STATUS        PORTS     NAMES
68bf744c5a56   ubuntu    "/bin/bash"   4 days ago   Up 16 hours             hello
$ 

$ sudo docker stop [NAMES]

EX)
$ sudo docker stop hello
hello
$ 

명령어 입력 후
$ sudo docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED      STATUS                        PORTS     NAMES
750026f56674   ubuntu    "bash"        4 days ago   Exited (0) 16 hours ago                 jinsu
68bf744c5a56   ubuntu    "/bin/bash"   4 days ago   Exited (137) 47 seconds ago             hello
$

 

 

 

 

반응형

+ Recent posts