apt-get update
apt-get upgrade
apt-get install net-tools
습관적으로 업데이트와 업그레이드를 실행 후 net-tools 와 systemd를 설치했다.
궁금해서 그냥 이미지만 다운로드 후 업데이트와 업그레이드를 하지 않고 install 명령어가 실행 되지도 않았다.
설치가 완료되면 ifconfig명령어가 동작한다.
root@ac283634d55b:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.3 netmask 255.255.0.0 broadcast 172.17.255.255
확인 결과 eth0 네트워크가 172.17.0.3으로 할당 된 것을 확인할 수 있다.
다른 컨테이너에서 ip를 확인해보면 172.17.0.x로 할당 된 것을 확인할 수 있으며, docker도 VM처럼 기본 네트워크망이 NAT로 설정되어 있는 것을 알 수 있다.
apt-get install apache2
root@ac283634d55b:/# apache2 -v
Server version: Apache/2.4.52 (Ubuntu)
Server built: 2022-06-14T12:30:21
root@ac283634d55b:/# service apache2 status
* apache2 is not running
systemctl 패키지를 설치하지 않았기 때문에 service 명령어를 사용했다.
동작 상태는 현재 작동되고 있지 않다고 나왔다.
root@ac283634d55b:/# service apache2 start
* Starting Apache httpd web server apache2
*
root@ac283634d55b:/# service apache2 status
* apache2 is running
아파치가 동작되고 있는 것이 확인됐다.
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ac283634d55b ubuntu "bash" About an hour ago Up About an hour 0.0.0.0:8000->80/tcp 1st
포트 부분에 8000->80/tcp라고 보이는 부분이 8000번 포트를 통해 접속하면 해당 컨테이너의 80번 포트로 바인딩시켜준 번호이다.
나의 경우는 포트번호가 8000번이다.
호스트 컴퓨터의 ip를 확인 후 localhost 대신 ip를 입력해도 아파치 웹 페이지가 나온다.
동일 네트워크의 다른 pc에서도 동일하게 접속이 가능한것이 확인 가능하며 외부에서 docker 웹 연결이 가능하다는 것을 알 수 있다.