Docker 컨테이너 다루기
Docker 컨테이너 관리 주요 명령
docker container run <옵션> <이미지 ID [명령] [명령인자…] > ; Dockerfile 인스트럭션 재정의
docker container run --name <컨테이너명〉〈이미지명[:태그]〉 ; 자동 이름 대신 알기 쉬운 이름으로 개발 생산성 향상
docker container run <이미지명:태그명 > ; 포그라운드 실행 (attached mode) 컨테이너 종료 - <ctrl + C>
docker container run -d〈이미지명:태그명〉 ; 백그라운드 실행 (detached mode)
docker container Is = docker ps ; '실행 중/종료된 컨테이너 목록 표시
docker container stop <컨테이네D/컨테이너명>; 실행중인 컨테이너 종료
docker container restart <컨테이네D/컨테이너명> ; 컨테이너 재시작
docker container rm [-f (실행중인 컨테이너 강제 삭제)] <컨테이네D/컨테이너명 > ; 컨테이너 파기
docker container logs -f(표준출력 내용을 계속볼 경우) <컨테이네D/컨테이너명> ; 표준 출력 연결하기
ocker container exec <옵션 > <컨테이네 D/컨테이너명 > <컨테이너에서 실행할 명령 > ; 실행중인 컨테이너에서 명령 실행
docker containercp <컨테이네D/컨테이너명:원본파일> <대상파일>; docker containercp <호스트_원본파일> <컨테이네D/컨테이너명:대상파일>; 컨테이너 끼리 또는 컨테이너와 호스트간 파일 복사
Docker container stats <옵션> <대상-컨테이너 ID…>; 컨테이너 단위로 시스템 리소스 사용 현황 확인
#0. Dockerfile 확인
#1. 도커 이미지 빌드
# docker build: docker image build의 축약형입니다.
docker image build ./firstNodeDockerApp -t firstnode-app:1.0
docker build ./guestbook -t guestbook-app # 앞서 baseimage를 가져왔기에, 시간이 더 짧게 걸린다.
#2. 이미지 확인
docker images
#1. 컨테이너 생성 및 실행
##Dockerfile 인스트럭션 재정의
# Docker Desktop 실행 후, 코드 입력
docker container run -it alpine
docker run -it alpine uname -a
#2. 컨테이너에 원하는 이름 부여하기
docker container run -d --name helloworld mcr.microsoft.com/azuredocs/aci-helloworld
docker ps
#3. 컨테이너 포그라운드 실행 (중지: ctrl + c)
# 터미널의 제어권이 넘어간다. ctrl+c로 나와야한다.
docker container run --name firstnode firstnode-app:1.0
#4. 지정 포트로 컨테이너 백그라운드 실행.
# 호스트 80으로 접속하면, localhost:3000으로 매핑.
docker container run --name guestbook-app -d -p 80:3000 guestbook-app
#5. 실행 중인 도커 컨테이너의 ID만 표시
docker container ls -q
#6. 실행 중인 도커 컨테이너 필터링 후 표시
docker container ls --filter "name=guestbook"
#7. 종료된 컨테이너 목록
docker container ls -a
docker ps -a
#8. 컨테이너 종료
docker container stop helloworld
#9. 컨테이너 재시작
docker container restart firstnode
#10. 컨테이너 파기
docker container rm <CONTAINER_ID>
# docker container rm 09fdaa77ba10
#11. 실행 중인 컨테이너에 명령 실행
docker container exec <CONTAINER_ID/CONTAINER_NAME> pwd
# docker container exec 09fdaa77ba10 pwd
docker container exec firstnode pwd
docker container exec -it <CONTAINER_ID/CONTAINER_NAME> sh
docker container exec -it 09fdaa77ba10 sh
docker container exec -it guestbook-app bash
mv header.ejs _header.ejs
#12. 컨테이너에 파일 복사
# docker container cp header.ejs <CONTAINER_ID/CONTAINER_NAME>:/app/views/header.ejs
# 호스트의 파일 .\guestbook\views\header.ejs -> 컨테이너에 복사 guestbook-app:/app/views/header.ejs
docker container cp .\guestbook\views\header.ejs guestbook-app:/app/views/header.ejs
#13. 컨테이너 리소스 사용량 확인
# docker container stats <CONTAINER_ID/CONTAINER_NAME>
docker container stats guestbook-app
#1. 컨테이너 생성 및 실행
##Dockerfile 인스트럭션 재정의
# Docker Desktop 실행 후, 코드 입력
docker container run -it alpine
docker run -it alpine uname -a
#2. 컨테이너에 원하는 이름 부여하기
docker container run -d --name helloworld mcr.microsoft.com/azuredocs/aci-helloworld
docker ps
#3. 컨테이너 포그라운드 실행 (중지: ctrl + c)
# 터미널의 제어권이 넘어간다. ctrl+c로 나와야한다.
docker container run --name firstnode firstnode-app:1.0
#4. 지정 포트로 컨테이너 백그라운드 실행.
# 호스트 80으로 접속하면, localhost:3000으로 매핑.
docker container run --name guestbook-app -d -p 80:3000 guestbook-app
#5. 실행 중인 도커 컨테이너의 ID만 표시
docker container ls -q
#6. 실행 중인 도커 컨테이너 필터링 후 표시
docker container ls --filter "name=guestbook"
#7. 종료된 컨테이너 목록
docker container ls -a
docker ps -a
#8. 컨테이너 종료
docker container stop helloworld
#9. 컨테이너 재시작
docker container restart firstnode
#10. 컨테이너 파기
docker container rm <CONTAINER_ID>
# docker container rm 09fdaa77ba10
#11. 실행 중인 컨테이너에 명령 실행
docker container exec <CONTAINER_ID/CONTAINER_NAME> pwd
# docker container exec 09fdaa77ba10 pwd
docker container exec firstnode pwd
docker container exec -it <CONTAINER_ID/CONTAINER_NAME> sh
docker container exec -it 09fdaa77ba10 sh
docker container exec -it guestbook-app bash
mv header.ejs _header.ejs
#12. 컨테이너에 파일 복사
# docker container cp header.ejs <CONTAINER_ID/CONTAINER_NAME>:/app/views/header.ejs
# 호스트의 파일 .\guestbook\views\header.ejs -> 컨테이너에 복사 guestbook-app:/app/views/header.ejs
docker container cp .\guestbook\views\header.ejs guestbook-app:/app/views/header.ejs
#13. 컨테이너 리소스 사용량 확인
# docker container stats <CONTAINER_ID/CONTAINER_NAME>
docker container stats guestbook-app
PS C:\lab> #1. 컨테이너 생성 및 실행 PS C:\lab> ##Dockerfile 인스트럭션 재정의 PS C:\lab> docker container run -it alpine Unable to find image 'alpine:latest' locally latest: Pulling from library/alpine 1f3e46996e29: Download complete Digest: sha256:56fa17d2a7e7f168a043a2712e63aed1f8543aeafdcee47c58dcffe38ed51099 Status: Downloaded newer image for alpine:latest / # ls bin etc lib mnt proc run srv tmp var dev home media opt root sbin sys usr / # cd home /home # ls /home # cd .. / # exit PS C:\lab> docker run -it alpine uname -a Linux e069b9123b79 5.15.167.4-microsoft-standard-WSL2 #1 SMP Tue Nov 5 00:21:55 UTC 2024 x86_64 Linux PS C:\lab> #2. 컨테이너에 원하는 이름 부여하기 PS C:\lab> docker container run -d --name helloworld mcr.microsoft.com/azuredocs/aci-helloworld Unable to find image 'mcr.microsoft.com/azuredocs/aci-helloworld:latest' locally docker: Error response from daemon: failed to resolve reference "mcr.microsoft.com/azuredocs/aci-helloworld:latest": failed to do request: Head "https://mcr.microsoft.com/v2/azuredocs/aci-helloworld/manifests/latest": dialing mcr.microsoft.com:443 container via direct connection because static system has no HTTPS proxy: connecting to mcr.microsoft.com:443: dial tcp 150.171.69.10:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. See 'docker run --help'. PS C:\lab> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES PS C:\lab> #3. 컨테이너 포그라운드 실행 (중지: ctrl + c) PS C:\lab> docker container run --name firstnode firstnode-app:1.0 > firstnodedockerapp@1.0.0 start /app > node ./bin/www PS C:\lab> #4. 지정 포트로 컨테이너 백그라운드 실행. PS C:\lab> docker container run --name guestbook-app -d -p 80:3000 guestbook-app 09fdaa77ba10c8280bfb8796200b8cdc6f7f9d317a89c9dbf52fe69adc6be9f3 PS C:\lab> #5. 실행 중인 도커 컨테이너의 ID만 표시 PS C:\lab> docker container ls -q 09fdaa77ba10 PS C:\lab> #6. 실행 중인 도커 컨테이너 필터링 후 표시 PS C:\lab> docker container ls --filter "name=guestbook" CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 09fdaa77ba10 guestbook-app "docker-entrypoint.s…" 35 minutes ago Up 35 minutes 80/tcp, 0.0.0.0:80->3000/tcp guestbook-app PS C:\lab> #7. 종료된 컨테이너 목록 PS C:\lab> docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 09fdaa77ba10 guestbook-app "docker-entrypoint.s…" 35 minutes ago Up 35 minutes 80/tcp, 0.0.0.0:80->3000/tcp guestbook-app 452d8d51a513 firstnode-app:1.0 "docker-entrypoint.s…" 37 minutes ago Exited (0) 36 minutes ago firstnode e069b9123b79 alpine "uname -a" 40 minutes ago Exited (0) 40 minutes ago trusting_banzai 2873527557ce alpine "/bin/sh" 45 minutes ago Exited (0) 44 minutes ago ecstatic_euler PS C:\lab> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 09fdaa77ba10 guestbook-app "docker-entrypoint.s…" 35 minutes ago Up 35 minutes 80/tcp, 0.0.0.0:80->3000/tcp guestbook-app 452d8d51a513 firstnode-app:1.0 "docker-entrypoint.s…" 37 minutes ago Exited (0) 36 minutes ago firstnode e069b9123b79 alpine "uname -a" 40 minutes ago Exited (0) 40 minutes ago trusting_banzai 2873527557ce alpine "/bin/sh" 45 minutes ago Exited (0) 44 minutes ago ecstatic_euler PS C:\lab> #8. 컨테이너 종료 PS C:\lab> docker container stop helloworld Error response from daemon: No such container: helloworld PS C:\lab> #9. 컨테이너 재시작 PS C:\lab> docker container restart firstnode firstnode PS C:\lab> #10. 컨테이너 파기 PS C:\lab> docker container rm 09fdaa77ba10 Error response from daemon: cannot remove container "/guestbook-app": container is running: stop the container before removing or force remove PS C:\lab> #11. 실행 중인 컨테이너에 명령 실행 PS C:\lab> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 09fdaa77ba10 guestbook-app "docker-entrypoint.s…" 45 minutes ago Up 45 minutes 80/tcp, 0.0.0.0:80->3000/tcp guestbook-app 452d8d51a513 firstnode-app:1.0 "docker-entrypoint.s…" 47 minutes ago Up 5 seconds 80/tcp, 3000/tcp firstnode PS C:\lab> docker container exec 09fdaa77ba10 pwd /app PS C:\lab> docker container exec firstnode pwd /app PS C:\lab> docker container exec -it 09fdaa77ba10 sh # ls Dockerfile app.js bin node_modules package-lock.json package.json public routes views # exit PS C:\lab> docker container exec -it guestbook-app bash root@09fdaa77ba10:/app# ls Dockerfile app.js bin node_modules package-lock.json package.json public routes views root@09fdaa77ba10:/app# exit exit PS C:\lab> #12. 컨테이너에 파일 복사 PS C:\lab> # docker container cp header.ejs <CONTAINER_ID/CONTAINER_NAME>:/app/views/header.ejs PS C:\lab> # 호스트의 파일 .\guestbook\views\header.ejs -> 컨테이너에 복사 guestbook-app:/app/views/header.ejs PS C:\lab> cd day4 PS C:\lab\day4> docker container cp .\guestbook\views\header.ejs guestbook-app:/app/views/header.ejs Successfully copied 2.05kB to guestbook-app:/app/views/header.ejs PS C:\lab> #13. 컨테이너 리소스 사용량 확인 PS C:\lab> # docker container stats <CONTAINER_ID/CONTAINER_NAME> PS C:\lab> docker container stats guestbook-app CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 09fdaa77ba10 guestbook-app 0.00% 49MiB / 7.66GiB 0.62% 4.49kB / 3.08kB 0B / 0B 23
PS C:\lab> docker container run -it alpine 을 하고 있을 때는, docker ps로 실행 중임을 확인할 수 있다.
exit하고 나오면, docker ps에서 실행중인 것이 아무것도 없음을 알 수 있다.
docker ps -a를 입력하면, Exited 된 것을 확인할 수 있다.
Docker 네트워크
도커의 기본 네트워크 목록; docker network Is
네트워크 종류 ; bridge, host, overlay
네트워크 만들기 ; docker network create <net-name>
네트워크 정보 확인 ; docker network inspect <net-name>
네트워크에 컨테이너 연결 ; docker network connect <net-name> <con-name> docker run -itd -name <con-name> -network <net-name> <img-name>
네트워크 연결 해제 ; docker network disconnect <net-name> <con-name>
네트워크 제거 ; docker network rm <net-name>
#1. 도커 네트워크 목록 조회
docker network ls
#기본 네트워크보다 직접 네트워크 생성 권장
#2. 네트워크 드라이버
#Docker 네트워크는 bridge, host, overlay 등 목적에 따라 다양한 종류의 네트워크 드라이버(driver) 지원.
#3. 네트워크 만들기
docker network create test-net
# -d 옵션으로 네트워크 드라이버 지정
#4. 네트워크 상세 정보 확인
docker network inspect test-net
# guestboo-app만 실행해두자.
# first node는 중지시키자.
# docker container rm -f firstnode
#5. 네트워크에 컨테이너 연결하기
# 하나는 bridge 네트워크에, 다른 하나는 test-net에 연결
#5.1 --network 옵션을 사용하지 않은 경우 기본 bridge 네트워크에 연결
docker run -itd --name firstnode firstnode-app:1.0
docker network inspect bridge
#5.2 test-net에 연결하기
docker network connect test-net firstnode
# secondnode 노드를 하나 더 실행
docker run -itd --name secondnode --network test-net firstnode-app:1.0
docker network inspect test-net
#6. 네트워크의 컨테이너 연결 해제
docker network disconnect bridge firstnode
#7. 컨테이너간 통신
docker exec firstnode ping secondnode
# first node의 ip ; "IPv4Address": "172.18.0.2/16"
docker exec secondnode ping 172.18.0.2
#8. 네트워크 제거
docker stop firstnode secondnode
docker network rm test-net
#실행중인 컨테이너가 있는 경우 실패
#9. 네트워크 청소
#어떤 컨테이너도 연결되지 않은 네트워크 청소
# 기본 네트워크에 영향을 줄 수 있으니, 실행하지 말자.
# docker network prune
PS C:\lab> #1. 도커 네트워크 목록 조회
PS C:\lab> docker network ls
NETWORK ID NAME DRIVER SCOPE
972365b8d72b bridge bridge local
4ea60c26bf06 host host local
a624d7739c98 none null local
PS C:\lab> #기본 네트워크보다 직접 네트워크 생성 권장
PS C:\lab> #3. 네트워크 만들기
PS C:\lab> docker network create test-net
1c3f1dc2550dc1e8d4d37219d51f0c47a8f2ced3ff3d3cd7d4d42ff6ee6df2d1
PS C:\lab> # -d 옵션으로 네트워크 드라이버 지정
PS C:\lab> docker network ls
NETWORK ID NAME DRIVER SCOPE
972365b8d72b bridge bridge local
4ea60c26bf06 host host local
a624d7739c98 none null local
1c3f1dc2550d test-net bridge local
PS C:\lab> #4. 네트워크 상세 정보 확인
PS C:\lab> docker network inspect test-net
[
{
"Name": "test-net",
"Id": "1c3f1dc2550dc1e8d4d37219d51f0c47a8f2ced3ff3d3cd7d4d42ff6ee6df2d1",
"Created": "2025-01-14T02:31:00.326338397Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
PS C:\lab> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
09fdaa77ba10 guestbook-app "docker-entrypoint.s…" 2 hours ago Up 2 hours 80/tcp, 0.0.0.0:80->3000/tcp guestbook-app
452d8d51a513 firstnode-app:1.0 "docker-entrypoint.s…" 2 hours ago Up About an hour 80/tcp, 3000/tcp firstnode
PS C:\lab> # guestboo-app만 실행해두자.
PS C:\lab> # first node는 중지시키자.
PS C:\lab> docker container rm -f firstnode
firstnode
PS C:\lab> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
09fdaa77ba10 guestbook-app "docker-entrypoint.s…" 2 hours ago Up 2 hours 80/tcp, 0.0.0.0:80->3000/tcp guestbook-app
PS C:\lab> #5. 네트워크에 컨테이너 연결하기
PS C:\lab> # 하나는 bridge 네트워크에, 다른 하나는 test-net에 연결
PS C:\lab> #5.1 --network 옵션을 사용하지 않은 경우 기본 bridge 네트워크에 연결
PS C:\lab> docker run -itd --name firstnode firstnode-app:1.0
6362c7a61ffc5d7214dff7c75ea5afcb8255335069016b2ebfcd0f17a079ae76
PS C:\lab> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6362c7a61ffc firstnode-app:1.0 "docker-entrypoint.s…" 48 seconds ago Up 48 seconds 80/tcp, 3000/tcp firstnode
09fdaa77ba10 guestbook-app "docker-entrypoint.s…" 2 hours ago Up 2 hours 80/tcp, 0.0.0.0:80->3000/tcp guestbook-app
PS C:\lab> docker network inspect bridge
[
{
"Name": "bridge",
"Id": "972365b8d72be6b1dcf56b3295b26cea1460ca8b9b094c4db0f5565bb0059d54",
"Created": "2025-01-14T00:25:17.577304925Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"09fdaa77ba10c8280bfb8796200b8cdc6f7f9d317a89c9dbf52fe69adc6be9f3": {
"Name": "guestbook-app",
"EndpointID": "e767f6953a1ad2fe8dde8f11780eb577ce90071c3554c3394f1951f2bf72284c",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
},
"6362c7a61ffc5d7214dff7c75ea5afcb8255335069016b2ebfcd0f17a079ae76": {
"Name": "firstnode",
"EndpointID": "006cc5ca95f51eb07f389e0309adb4fba10b0f0d7958b94b7ef5b917eef7f7fb",
"MacAddress": "02:42:ac:11:00:03",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
PS C:\lab> #5.2 test-net에 연결하기
PS C:\lab> docker network connect test-net firstnode
PS C:\lab> # secondnode 노드를 하나 더 실행
PS C:\lab> docker run -itd --name secondnode --network test-net firstnode-app:1.0
77728a0ca7eb57b9b4e61357e2e8a1399d429f7c7feeba422892ce31e4a32a83
PS C:\lab> docker network inspect test-net
[
{
"Name": "test-net",
"Id": "1c3f1dc2550dc1e8d4d37219d51f0c47a8f2ced3ff3d3cd7d4d42ff6ee6df2d1",
"Created": "2025-01-14T02:31:00.326338397Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"6362c7a61ffc5d7214dff7c75ea5afcb8255335069016b2ebfcd0f17a079ae76": {
"Name": "firstnode",
"EndpointID": "2f40e94c03e6f3a750239037c7e05c334251ca4d136a0457081cf68fd07a498c",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
},
"77728a0ca7eb57b9b4e61357e2e8a1399d429f7c7feeba422892ce31e4a32a83": {
"Name": "secondnode",
"EndpointID": "fece8167c402d6850c46f4a42dc2c5f1af264284d7b159cd00f9d4b51d275bac",
"MacAddress": "02:42:ac:12:00:03",
"IPv4Address": "172.18.0.3/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
PS C:\lab> #6. 네트워크의 컨테이너 연결 해제
PS C:\lab> docker network disconnect bridge firstnode
PS C:\lab> #7. 컨테이너간 통신
PS C:\lab> docker exec firstnode ping secondnode
PING secondnode (172.18.0.3) 56(84) bytes of data.
64 bytes from secondnode.test-net (172.18.0.3): icmp_seq=1 ttl=64 time=0.379 ms
64 bytes from secondnode.test-net (172.18.0.3): icmp_seq=2 ttl=64 time=0.089 ms
64 bytes from secondnode.test-net (172.18.0.3): icmp_seq=3 ttl=64 time=0.085 ms
64 bytes from secondnode.test-net (172.18.0.3): icmp_seq=4 ttl=64 time=0.060 ms
64 bytes from secondnode.test-net (172.18.0.3): icmp_seq=5 ttl=64 time=0.084 ms
64 bytes from secondnode.test-net (172.18.0.3): icmp_seq=6 ttl=64 time=0.056 ms
64 bytes from secondnode.test-net (172.18.0.3): icmp_seq=7 ttl=64 time=0.096 ms
64 bytes from secondnode.test-net (172.18.0.3): icmp_seq=8 ttl=64 time=0.049 ms
...
64 bytes from secondnode.test-net (172.18.0.3): icmp_seq=40 ttl=64 time=0.080 ms
context canceled
PS C:\lab> docker exec secondnode ping 172.18.0.2
PING 172.18.0.2 (172.18.0.2) 56(84) bytes of data.
64 bytes from 172.18.0.2: icmp_seq=1 ttl=64 time=0.078 ms
64 bytes from 172.18.0.2: icmp_seq=2 ttl=64 time=0.083 ms
64 bytes from 172.18.0.2: icmp_seq=3 ttl=64 time=0.087 ms
64 bytes from 172.18.0.2: icmp_seq=4 ttl=64 time=0.077 ms
64 bytes from 172.18.0.2: icmp_seq=5 ttl=64 time=0.074 ms
64 bytes from 172.18.0.2: icmp_seq=6 ttl=64 time=0.083 ms
64 bytes from 172.18.0.2: icmp_seq=7 ttl=64 time=0.063 ms
64 bytes from 172.18.0.2: icmp_seq=8 ttl=64 time=0.082 ms
64 bytes from 172.18.0.2: icmp_seq=9 ttl=64 time=0.086 ms
context canceled
PS C:\lab> #8. 네트워크 제거
PS C:\lab> docker stop firstnode secondnode
firstnode
secondnode
PS C:\lab> docker network rm test-net
test-net
'AI, 논문, 데이터 분석' 카테고리의 다른 글
[Docker] [실습4] Docker Hub (0) | 2025.01.14 |
---|---|
[Docker] [실습3] Docker Compose 개념 및 실습 (0) | 2025.01.14 |
[Docker] [실습1] 컨테이너 기술과 Docker 개요 (0) | 2025.01.13 |
[클라우드 컴퓨팅] [Azure 실습10] Azure Functions Core Tools (0) | 2025.01.13 |
[클라우드 컴퓨팅] 개념 및 Azure 실습 [모음/정리] + 회고 (2) | 2025.01.12 |