본문 바로가기
반응형

DevOps/Docker94

[Docker] : Host Network, 호스트 네트워크 호스트 네트워크 네트워크를 호스트로 설정하면 호스트 네트워크 환경을 그대로 사용할 수 있다. 브리지 드라이버 네트워크와 달리 별도 생성이 필요 없고 기존 host라는 이름의 네트워크를 사용한다. docker run -i -t \\ --name network_host \\ --net host \\ ubuntu:14.04 echo "컨테이너 내부입니다." 호스트 머신에서 설정한 호스트 이름도 컨테이너가 물려받기 때문에 컨테이너의 호스트 이름도 무작위 16진수가 아닌 도커 엔진이 설치된 호스트 머신의 호스트 이름으로 설정이 된다. ifconfig 컨테이너의 네트워크를 호스트 모드로 설정하면 컨테이너 내부의 애플리케이션을 별도의 포트 포워딩 없이 바로 서비스할 수 있다. 마치 실제 호스트에서 애플리케이션을 외부.. 2022. 2. 18.
[Docker] : bridge network, 브리지 네트워크 브리지 네트워크 docker0 브리지와 비슷하게 브리지 네트워크는 docekr0이 아닌 사용자 정의 브리지를 생성해 각 컨테이너에 연결하는 네트워크 구조이다. 컨테이너는 연결된 브리지를 통해 외부와 통신할 수 있다. docker0을 사용하는 브리지 네트워크가 아닌 새로운 브리지 네트워크를 생성할 수 있다. docker network create --driver bridge mybridge 이렇게 생성할 수 있는데 위 명령어를 실행하면 브리지 타입의 mybridge라는 네트워크가 생기게 된다. docker run -i -t \\ --name mynetwork_container \\ --net mybridge \\ ubuntu:14.04 이렇게 명령어를 입력하여 mybridge 네트워크를 사용하는 컨테이너를.. 2022. 2. 18.
[Docker] : docker network 기능 컨테이너를 생성하면 docker0 브리지를 통해 외부와 통신할 수 있지만 사용자 선택에 따라 여러 네트워크 드라이버를 사용할 수도 있다. docker network ls 명령어로 기본적으로 사용할 수 있는 네트워크가 무엇인지 확인해 볼 수 있다. 도커의 네트워크를 다루는 명령어는 docker network 로 시작한다. NAME을 보면 bridge, host, none 네트워크가 있는 것을 확인할 수 있다. bridge 네트워크는 컨테이너를 생성할 때 자동으로 연결되는 docker0 bridge를 활용하도록 설정되어 있다. 이 네트워크는 172.17.0.x IP대역을 컨테이너에 순차적으로 할당한다. docker network inspect bridge 위 명령어를 통해 네트워크의 자세한 정보를 확인할 수.. 2022. 2. 17.
[Docker] : docker network 구조 ifconfig 컨테이너 내부에서 명령어를 입력하면 컨테이너 네트워크 인터페이스에 eth0과 lo 네트워크 인터페이스가 있는 것을 확인할 수 있다. 도커는 컨테이너 내부 IP를 순차적으로 할당하고 이 IP는 컨테이너를 재시작할 때마다 변경될 수 있다. 그리고 이 내부 IP는 도커가 설치된 호스트 즉, 내부 망에서만 사용이 가능한 IP이다. 때문에 외부와 연결될 필요가 있다. veth 인터페이스는 사용자가 직접 생성할 필요가 없고 컨테이너가 생성될 때 도커 엔진이 자동으로 생성하게 된다. 도커가 설치된 호스트에서 ifconfig나 ip addr과 같은 명령어로 네트워크 인터페이스를 확인하면 실행 중인 컨테이너 수 만큼 veth로 시작하는 인터페이스가 생성된 것을 확인할 수 있다. 명령어의 출력 결과 중 e.. 2022. 2. 17.
[Docker] : Docker volume , 도커 볼륨 도커 볼륨 docker volume 명령어를 사용해서 볼륨을 활용할 수도 있다. 즉, 도커 자체에서 제공하는 볼륨 기능을 활용해 데이터를 보존할 수도 있다. 볼륨을 다루는 명령어는 docker volume로 시작하고, docker volume create 명령어로 볼륨을 생성할 수 있다. docker volume create --name myvolume myvolume이라는 볼륨을 생성한다. docker volume ls 명령어를 통해 생성된 볼륨을 확인힌다. docker run -i -t --name myvolume_1 \\ -v myvolume:/root/ \\ ubuntu:14.04 echo hello, volume! >> /root/volume 위 코드로 생성되는 컨테이너는 볼륨을 컨테이너의 /r.. 2022. 2. 16.
[Docker] : Volume Container, 볼륨 컨테이너 볼륨 컨테이너 볼륨을 사용하는 두 번째 방법은 -v 옵션으로 볼륨을 사용하는 컨테이너를 다른 컨테이너와 공유하는 것이다. docker run -i -t \\ --name volumes_from_container \\ --volumes-from volume_overide \\ ubuntu:14.04 ls /home/testdir_2/ —volume-from 옵션을 통해 여러 개의 컨테이너가 동일한 컨테이너에 볼륨을 공유해서 사용할 수도 있다. 📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다. 2022. 2. 16.
[Docker] : host volume 공유, 호스트 볼륨 공유 호스트 볼륨 공유 docker run -d \\ --name wordpressdb_hostvolume \\ -e MYSQL_ROOT_PASSWORD=password \\ -e MYSQL_DATABASE=wordpress \\ -v /home/wordpress_db:/var/lib/mysql \\ mysql:5.7 docker run -d \\ -e WORDPRESS_DB_PASSWORD=password \\ --name wordpress_hostvolume \\ --link wordpressdb_hostvolume:mysql \\ -p 80 \\ wordpress 두 명령어를 통해 mysql 데이터베이스 컨테이너와 워드프레스 웹 서버 컨테이너를 생성한다. 워드프레스 컨테이너에 -p 옵션으로 컨테이너의 8.. 2022. 2. 16.
[Docker] 도커 볼륨, docker volume 도커 이미지로 컨테이너를 생성하면 이미지는 읽기 전용이 되고, 컨테이너의 변경 사항만 별도로 저장해서 각 컨테이너의 정보를 보존한다. 즉, 도커 이미지는 읽기만 가능하고 그 위에 컨테이너 레이어가 있어서 도커 컨테이너는 쓰기가 가능하도록 한 구조이다. 이미 생성된 이미지는 어떤 경우에도 변경되지 않는다. 컨테이너 계층에 원래 이미지에서 변경된 파일 시스템 등을 저장하게 된다. 도커 이미지에 mysql을 실행하는데 필요한 애플리케이션 파일이 들어있다면 도커 컨테이너에는 wordpress에서 쓴 로그인 정보, 게시글 등 데이터베이스를 운용하며 쌓이는 데이터가 저장이 되게 되는 것이다. 하지만 단점이 있다. myslq 컨테이너를 삭제하면 컨테이너 계층에 저장되어 있는 데이터베이스의 정보도 삭제가 된다. 도커의.. 2022. 2. 15.
[Docker] : 도커 애플리케이션 구축하기 docker run -d \\ --name wordpressdb \\ -e MYSQL_ROOT_PASSWORD=password \\ -e MYSQL_DATABASE=wordpress \\ mysql:5.7 mysql 이미지를 사용해 데이터베이스 컨테이너를 생성한다. docker run -d \\ -e WORDPRESS_DB_HOST=mysql \\ -e WORDPRESS_DB_USER=root \\ --name wordpress \\ --link wordpressdb:mysql \\ -p 80 \\ wordpress 미리 준비된 워드프레스 이미지를 통해 워드프레스 웹 서버 컨테이너를 생성한다. docker ps 명령어로 호스트의 어느 포트와 연결이 되었는지 확인할 수 있다. docker port word.. 2022. 2. 15.
[Docker] : VMWare Ubuntu Docker 설치 VMWare Ubuntu Docker 설치 📝 ← Ubuntu에 Docker 엔진 설치하는 공식 문서를 참고하면 더 좋다. 저장소를 설치하는 방법으로 도커를 설치한다. sudo apt-get update sudo apt-get install \\ ca-certificates \\ curl \\ gnupg \\ lsb-release curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo docker version 도커 설치 확인한다. 2022. 2. 10.
반응형