
docker rmi -f $(docker images -q)
docker rm -f $(docker ps -a -q)
chohyeon1208@docker:~$ docker run -d --name test-web chohyeon1208/test:v1
# run으로 pull, create, start 한번에 실행!
# chohyeon1208/test 레파지토리의 v1태그를 가진 이미지를
# test-web으로 이름지어서 이미지 빌드 + 프로세스로 실행!
d 또는 -detach: 컨테이너를 백그라운드에서 실행합니다.it: 인터랙티브 모드로 실행하고 터미널을 연결합니다.-name: 컨테이너에 이름을 지정합니다.chohyeon1208@docker:~$ docker inspect test-web
→ 위 코드를 실행하면 도커 컨테이너나 이미지에 대한 자세한 정보를 알 수 있다.
(컨테이너가 실행되어 있어야 즉, 프로세스가 되어 있어야 inspect 가능!!)
"IPAddress": "172.17.0.2" → 이 주소를 curl 하면 내가 불러온 nginx 이미지가 잘 동작하는 걸 볼 수 있는데, 왜 이 주소를 curl 해야하나?
→ 컨테이너 네트워크!!!
→ 로컬에서 생성된 컨테이너 네트워크 인터페이스 주소이기 때문에 로컬에서만 실행 가능!!!
위 명령어를 통해 도커 컨테이너의 네트워크 인터페이스 주소를 볼 수 있다.
이 주소로 curl이 가능하다.
그 이유는 도커 컨테이너의 네트워크 인터페이스 주소는 local 내부 ip 주소이기 때문이다.
자세한 것은 아래 그림을 통해 확인 가능하다.

도커 컨테이너에서 "IPAddress": "172.17.0.2"가 나타나는 경우, 이는 해당 컨테이너가 사용하는 네트워크 인터페이스의 IP 주소를 나타낸다.
도커는 기본적으로 네트워크를 생성하고 컨테이너를 이 네트워크에 연결한다.
각 컨테이너는 이러한 네트워크에서 자체 IP 주소를 할당받는다.
chohyeon1208@docker:~$ ip a
chohyeon1208@docker:~/lab/docker/app$ docker exec -it myapp bash
