본문 바로가기
Docker

[Docker 수업] 20241026 9장 네트워크 관리

by bestchoco 2024. 10. 26.

- bridge 모드 => docker0 컨테이너를 따라간다.(기본적으로 네트워크 생성 시 브릿지 모드로 생성됨..)

[root@docker1 ~]# docker container run --rm busybox ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
6: eth0@if7: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever

- host 모드 => docker1 네트워크 장치를 그대로 쓴다..

[root@docker1 ~]# docker container run --rm --network=host busybox ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel qlen 1000
    link/ether 00:0c:29:10:e0:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.10/24 brd 192.168.2.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe10:e000/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
    link/ether 02:42:45:e5:9d:5a brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:45ff:fee5:9d5a/64 scope link
       valid_lft forever preferred_lft forever

- none 네트워크 (다른 네트워크와 통신이 필요없을 때..)

[root@docker1 ~]# docker container run --rm --network=none busybox ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

 

교재 7쪽

- bridge 네트워크 생성

 

0

IPAM은 "IP Address Management"의 약자로, IP 주소의 할당, 관리 및 추적을 담당하는 시스템입니다. Docker에서는 컨테이너가 사용하는 네트워크의 IP 주소를 관리하는 역할을 합니다.

IPAM의 주요 기능은 다음과 같습니다:

IP 주소 할당: 네트워크에 연결된 컨테이너에 IP 주소를 동적으로 할당합니다.
서브넷 관리: 네트워크의 서브넷을 정의하고 관리하여 IP 주소의 범위를 설정합니다.
충돌 방지: 중복되거나 충돌하는 IP 주소를 방지합니다.
IP 주소 추적: 사용 중인 IP 주소와 사용 가능한 IP 주소를 추적하여 관리합니다.

 

- docker 네트워크 연결 / 해제 / 삭제

 

* 컨테이너를 br0번 연결했다가 br1로 바꾼 후에 network 연결 해제, br0, br1 삭제 후 

컨테이너 시작 시도.. br1 찾을 수 없음, br1 네트워크 재생성 후 컨테이너 시작 시도..

이번엔 br0을 못찾음.. -> br1 다시 만들고 컨테이너 시작 시도.. 성공.

 


교제 23페이지

hostmode로 해버리면 container를 여러 개 쓰기 어렵다.

 

교제 25페이지

* alpine? : 

Alpine은 경량 리눅스 배포판,
보안과 효율성을 중시하며 주로 컨테이너 환경에서 사용,
패키지 관리 시스템인 apk를 사용하여 필요한 소프트웨어를 쉽게 설치

docker container attach alpine

=>

CMD "ash"를 타고 간다.

따라서, exit하면 프로세스가 EXIT 상태가 되버린다.

ctrl + p + q를 해야 UP 상태 그대로 확인 가능.


!기본 브릿지에서 통신하려면 이름을 /etc/hosts에 미리 명시를 해야했지만

따로 네트워크를 생성해서 hostname으로 ping을 보내면 통신 가능.

* 자동 네트워크 시스템(Automatic Network System)
네트워크의 설정, 관리 및 최적화를 자동화하여 효율성을 높이는 기술
이러한 시스템은 네트워크 장비의 구성, 모니터링, 문제 해결 등을 자동으로 수행
운영 비용을 감소, 사람의 개입을 최소화,
실시간으로 네트워크 상태를 관리할 수 있도록 한다.

주요 기술로는 SDN(Software-Defined Networking),
NFV(Network Functions Virtualization) 등이 있다.