목차
컨테이너 실행 Create
1. ps -a 로 현재 실행 중이거나 실행 가능한 도커 이미지를 검색합니다.
ubuntu@ip-172-31-4-29:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3aa7ae8b50f9 ubuntu "/bin/bash" 2 minutes ago Created laughing_chebyshev
7fc5d1fcff44 hello-world "/hello" 8 days ago Exited (0) 8 days ago great_cerf
2. 구분 되어지는 아이디 일부 값을 입력해서 start로 도커를 실행합니다. 결과로 입력에 사용한 ID가 return 출력 됩니다. start에 별도의 입력을 넣지 않아 /bin/bash 쉘 명령은 실행 후 종료 될 것입니다.
ubuntu@ip-172-31-4-29:~$ docker start 3aa7ae
3aa7ae
3. Status 창을 통해 해당 도커가 실행 후 Exited 되었음을 알 수 있습니다.
ubuntu@ip-172-31-4-29:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3aa7ae8b50f9 ubuntu "/bin/bash" 16 minutes ago Exited (0) About a minute ago laughing_chebyshev
7fc5d1fcff44 hello-world "/hello" 8 days ago Exited (0) 8 days ago great_cerf
컨테이너 실행 Run
docker start 명령어를 사용할 때 표준 입력(STDIN)을 직접 넣는 기능은 직접적으로 지원되지 않습니다. docker start 명령어는 이미 생성된 컨테이너를 시작하는 용도로 사용되며, 주로 컨테이너의 실행 상태를 관리하는데 초점이 맞춰져 있습니다. 이 명령어는 기본적으로 표준 입력을 대기하거나 받지 않도록 설계되었습니다.
그러므로 초기 설정 및 사용을 위해서 컨테이너를 RUN을 통해 실행합니다.
1. run 으로 ubuntu 이미지를 컨테이너로 만들고 실행 해줍니다. 이때 -it는 i를 통해 입력을 받을 수 있게 하고 t를 통해 터미널을 생성합니다. 아래와 같이 실행 후 터미널 입력으로 바뀜을 알 수 있습니다. exit를 통해 터미널을 종료 할 수 있습니다.
ubuntu@ip-172-31-4-29:~$ docker run -it ubuntu
root@1b0d3c18eebe:/#
2. 아래와 같이 -d 옵션을 사용하게 되면 백그라운드(Background)로 프로 그램이 동작하게 됩니다. 아래와 같이 ps로 확인한 결과 status가 up 임을 알 수 있습니다.
ubuntu@ip-172-31-4-29:~$ docker run -it -d ubuntu
dd87a1b65a4cd48874d7ea585da7c5225e72e895304e976d83976ec41d989252
ubuntu@ip-172-31-4-29:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd87a1b65a4c ubuntu "/bin/bash" 4 seconds ago Up 3 seconds happy_nobel
3. attach 명령을 사용해서 백그라운드로 동작하는 우분투에 접속할 수 있습니다.
ubuntu@ip-172-31-4-29:~$ docker attach dd87
root@dd87a1b65a4c:/#
4. 앞서 start를 사용해서 종료된 도커를 다시 실행할 수 있습니다.
ubuntu@ip-172-31-4-29:~$ docker start dd87
dd87
ubuntu@ip-172-31-4-29:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd87a1b65a4c ubuntu "/bin/bash" 7 minutes ago Up 17 seconds happy_nobel
1b0d3c18eebe ubuntu "/bin/bash" 15 minutes ago Exited (0) 7 minutes ago xenodochialhaw
3aa7ae8b50f9 ubuntu "/bin/bash" 45 minutes ago Exited (0) 30 minutes ago laughing_chyshev
7fc5d1fcff44 hello-world "/hello" 8 days ago Exited (0) 8 days ago great_cerf
5. 도커 리스트에 있는 컨테이너를 삭제하는 방법은 아래와 같이 exit로 종료 후 rm을 통해서 삭제를 합니다.
ubuntu@ip-172-31-4-29:~$ docker attach dd87
root@dd87a1b65a4c:/# exit
exit
ubuntu@ip-172-31-4-29:~$ docker rm dd87
dd87
6. 모든 도커 컨테이너를 삭제하고 싶으면 아래와 같이 prune 명령을 사용 합니다.
ubuntu@ip-172-31-4-29:~$ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
1b0d3c18eebe1a2d664bf2e3603151b2e82af5bf88be371d594b5f9d333af40e
3aa7ae8b50f938304f7c71adbb340f2f9f2c9ccb29f77b15c028cede7f178803
7fc5d1fcff4422d52712394945729bf25cf8eceef1c8185142ff0d54966499fc
Total reclaimed space: 5B
ubuntu@ip-172-31-4-29:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
'웹관련프로그래밍(web programming) > Docker(도커)' 카테고리의 다른 글
[도커] apache 웹서버 설치 및 동작(Web server, Docker) (1) | 2024.03.27 |
---|---|
[도커] Docker Image와 Container란?(이미지, 컨테이너) (1) | 2024.03.25 |
[Docker] 도커 로그인, 로그아웃, 이미지 다운로드(Login, Logout, Image, ID, Password) (1) | 2024.03.13 |
[Docker] 도커 Compose와 Container란? 설치 방법(ubuntu) (0) | 2024.03.11 |