공부합시다!/Container
-
Docker : Network공부합시다!/Container 2022. 12. 15. 11:29
Docker 에서 사용하는 대표적인 네트워크는 크게 3가지로 구성되어 있습니다.! 1. Bridge 2. Host 3. None 하나씩 살펴보도록 할께요! 1. Bridge 1.1. 쉽게 표현하면 우리가 알고 있는 NAT 기능을 수행합니다. 1.2. Bridge에 무슨 NAT냐 하실텐데 iptables의 Masquerade 기능을 이용하여 DNAT과 SNAT을 구현하고 있습니다. 1.2.1. 위의 그림에서 보시면 httpd 컨테이너를 실행하면 외부의 모든 소스가 내부의 172.17.0.2의 TCP HTTPD로의 통신이 가능하게끔 자동적으로 iptables가 설정 됩니다. 1.3. 물론 스위치의 기능도 당연히 수행합니다. - 동일 네트워크에서의 통신(요걸로 Container간 통신이 가능합니다.) 1.4...
-
PODMAN: POD 구성 및 wordpress + mysql공부합시다!/Container 2022. 12. 15. 00:13
외부에 노출을 해야하는 서비스와 그렇지 않은 서비스가 동시에 존재한다면....... POD를 구성해서 서비스 하시면 쉽게 해결이 됩니다. POD 구성시 노출 해야할 Port를 지정하고 그렇지 않은 서비스는 POD에서 Port를 노출하지 않고 hostname 으로 접속이 가능합니다. 해서 오늘은 POD 구성은 Wordpress를 외부에 노출하고 mysql은 port를 노출하지 않고 hostname으로 구성하는 실습을 진행하겠습니다. 1. port를 지정하지 않는 pod 생성 1.1. pod 생성 1.2. container 생성 error 2. port를 지정하는 pod 생성 2.1. POD 생성 # podman pod create --name portpod -p 60080:80 --hostname mysq..
-
PODMAN: POD공부합시다!/Container 2022. 12. 14. 00:12
pod란 개념은 K8S에서 유래 되었다. pod란 Container를 실행하는 최소 단위이며 하나, 또는 그 이상의 Container가 실행되는 환경이다. PODMAN의 pod 역시 이와 유사하게 정의되어 있다. 1. 구조 및 Infra Container 1.1. 모든 Podman pod에는 infra container가 포함되어 있음. 1.2. Infra container는 아무 작업도 수행하지 않지만 sleep mode로 전환되지는 않는다. 1.2.1. 중요 정보 저장 및 Pod 유지 1.3. Infra Container는 팟(Pod)과 연관된 NameSpace를 보유 1.4. Podman이 pod내의 다른 Container에 연결할 수 있도록 함. 1.4.1. 이렇게 함으로서 pod 내의 Conta..
-
PODMAN 일반적인 사용법공부합시다!/Container 2022. 12. 13. 00:11
podman의 일반적인 사용법은 docker와 크게 차이점이 없습니다. 리포지토리를 지정하지 않으면 docker.io를 기본적으로 사용하게 됩니다. 그럼 docker 처럼 사용해 보겠습니다. 1. Install 1.1. Cento7.4이후 버전에는 기본적으로 별다른 작업 없이 설치가 가능합니다. # yum install -y podman 2. 도움말 확인 2.1. 도움말을 확인해보면 docker와 거의 흡사함을 알수 있습니다. # podman --help 3. apache image 가져오기 3.1. pull 명령어을 이용해 image를 가져옵니다. 3.2. 확인을 해보면 docker.io를 사용함을 확인할 수 있습니다. # podman pull httpd # podman images 4. alpine ..
-
PODMAN과 DOCKER공부합시다!/Container 2022. 12. 12. 14:04
Kubernetes에서 Docker가 제외되면서 어떤 기술들을 공부해야 할까 망설였는데 마침 Redhat의 전폭적인 지원을 받는 podman을 접하게 되었다! docker image를 공유할 수 있고 명령어 체계도 비슷해서 공부를 시작해 본다. 1. podman? 1.1. Linux 시스템에서 Container를 개발, 실행, 관리하기 위한 Open Source Tool 1.2. Redhat과 OpenSource Community가 공동 개발 1.3. 데몬이 없는 포괄적인 아키텍처 -> docker는 docker daemon이 모든 걸 처리한다. 1.4. Buildah및 Skopeo와 같은 관련 툴과 기능을 통해 개발자는 컨테이너 환경을 사용자 정의 방식으로 요구 사항에 가장적합하게 설정 2. 특징: P..
-
HA Proxy 멀티 포트를 활용한 다중 LoadBalancing공부합시다!/Container 2022. 12. 8. 17:16
HA Proxy는 의외로 그 쓰임새가 다양합니다. - 자료 찾아보셔요! 오늘은 HA Proxy의 멀티 포트기능을 활용하여 두 개의 각기 다른 웹사이트를 LoadBalancing 합니다. 1. 전체 구성도 2. HA Proxy FrontEnd 설정 3. HA Proxy BackEnd 설정 4. Firewall 설정 5. Container 구성 6. Test 이렇게 Test가 완료 되시면 훌륭하게 완성된 LoadBalancer 입니다. Have a nice day!
-
httpd export, import공부합시다!/Container 2022. 7. 18. 21:14
apache web server를 container에서 export그리고 해당 파일은 import해서 image로 전환해당 image를 실행하면 설정 및 환경변수등이 초기화 되기 때문에 실행이 되지 않습니다. 이 문제를 해결하려면import시 CMD 작업, 그리고 실행 시 환경변수를 추가해 주면 해결이 가능합니다. docker import --change 'CMD ["httpd-foreground"]' http.tar httpd:sdkimdocker run -itd -e "PATH=/usr/local/apache2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" -p 61000:80 --name h1 httpd:sdkim위 두개의 작업..
-
Docker : Container Data 공유 - bind mount공부합시다!/Container 2022. 6. 3. 06:37
Container에서 생성된 데이터는 Container가 삭제되면 사라지게 된다. 즉 Container의 Life Cycle에 따라서 그 Data의 운명이 결정된다. 하지만 일련의 Data들은 영속적으로 보관해야 하는 필요성이 생기며 여러 Container들이 하나의 Data를 공유하며 읽고, 쓸수도 있어야 한다. DB처럼 1. Container Data 공유의 필요성 1.1. Docker의 Life Cycle과는 관계없이 Container의 Data를 보관 1.2. Host의 Data를 Container와 공유해야 경우 2. Docker에서는 두 가지 방법을 제공함. 2.1. Volume 2.2. bind-mount 3. bind mount 3.1. Host File System 지정된 디렉토리와 Co..