- [ Network/Docker ][Network | Docker] Apache, Docker Compose를 이용한 Reverse Proxy 구성2024-07-17 18:04:55📢 해당 포스트는 Docker Compose를 사용하여 여러 컨테이너들을 하나의 서비스로 묶어 관리하고 호스트 PC에 설치된 httpd(Apache)를 통해 특정 도메인과 도커 컨테이너를 연결하는 과정을 설명합니다. 🛠️ 참고Virtualbox - Oracle VM VirtualboxLinux OS - Rocky LinuxHTTPD - Apache0. Docker Compose 개념docker-compose.yml 파일을 사용해 하나의 가상 서버에서 여러 개의 컨테이너를 하나의 서비스로 정의해 컨테이너를 묶음으로 관리할 수 있다. 만약 Docker Compose를 사용하지 않는다면 컨테이너를 하나 하나씩 run 해야하는 번거러움이 있다. 하지만 Docker Compose를 사용하면 한번의 명령어로 설..
- [ Network/Docker ][Network | Docker] jar 배포2024-07-07 02:10:44✅ 진행은 root 계정이 아닌 배포할 도커 컨테이너의 관리자 계정으로 진행했다.(컨테이너 1개 당 각각 다른 관리자 계정을 가진다) (참고) 컨테이너 전용 계정 docker 그룹에 추가더보기$ usermod -aG ${그룹명 } ${계정명 }$ cat /etc/group # 그룹 및 그룹에 속한 계정 확인1. jar 추출Gradle - build - bootJar 더블 클릭!Project - build - libs - ${프로젝트명 }-0.0.1-SNAPSHOT.jar 오른쪽 클릭 - Open In - Explorer해당 jar 파일을 원하는 곳으로 복사해둔다.(filezilla에서 쉽게 찾아 옮기기 위함 …)2. FTP 프로그램(Filezilla)을 통해 jar 파일 이동(Host PC)3. jdk ..
- [ Network/Docker ][Network | Docker] Dockerfile2024-07-05 00:49:58완성된 이미지를 생성하기 위해 컨테이너에 설치해야 하는 패키지, 소스코드, 명령어, 셸 스크립트 등을 하나의 파일에 기록하면 도커가 해당 파일을 읽어 컨테이너에서 작업을 수행한 뒤 이미지로 만들어내는 작업직접 컨테이너를 생성하고 이미지로 커밋해야 하는 번거러움을 덜 수 있다.깃과 같은 개발 도구를 통해 애플리케이션의 빌드 및 배포를 자동화 할 수 있다.1. Dockerfile 작성[root@localhost ~]# mkdir dockerfile && cd dockerfile[root@localhost dockerfile]# echo hello world! >> test.html[root@localhost dockerfile]# lstest.html[root@localhost dockerfile]# vi ..
- [ Network/Docker ][Network | Docker] 이미지2024-07-04 19:56:511. 실습용 컨테이너 생성[root@localhost ~]# docker run -it \> --name commit_test \> rockylinux/rockylinux[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESc2fed75bfdf6 rockylinux/rockylinux "/bin/bash" 50 minutes ago Up 50 minutes ..
- [ Network/Docker ][Network | Docker] 네트워크2024-07-03 23:12:11컨테이너의 eth0 인터페이스는 호스트의 veth … 인터페이스(도커 컨테이너 시작 시 생성)와 연결되며 veth 인터페이스는 docker0 브리지와 바인딩되기 때문에 외부 통신이 가능하다. 이해하기 위해 직접 확인해보자. [root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb97d76ab0c2d mysql:5.7 "docker-entrypoint.s…" 3 hours ago Up 3 hours ..
- [ Network/Docker ][Network | Docker] 데이터베이스 외부 원격 접속2024-07-03 15:08:51게시글 작성 기준으로 현재는 호스트 PC에서 접속했지만 이후 외부에서 원격으로 접속해야 한다면 공유기에서 포트 포워딩을 해주면 될 것 같다. 🐳🌊1. 테스트용 컨테이너 생성> docker run -d \ # 백그라운드 실행> --name mysql \ # 컨테이너 이름> -p 3308:3306 \ # 포트 매핑(외부에서 3308 포트로 들어오면 내부 3306 포트로 매핑된다)> -e MYSQL_ROOT_PASSWORD=${password } \ # root 비밀번호 지정> -e MYSQL_DATABASE=test \ # 테스트용 데이터베이스 생성> mysql:5.7 # 이미지2. 외부 접속 허용 설정> docker ps -a> docker exec -it mysql /bin/bash # 위에서 만들었..
- [ Network/Docker ][Network | Docker] 볼륨2024-07-02 23:53:14🐳 시작하세요! 도커 쿠버네티스를 통해 작성하였다.0. 볼륨이란?컨테이너의 데이터를 영속적으로 활용할 수 있는 방법으로 방식에는 호스트 볼륨 공유, 볼륨 컨테이너, 도커 볼륨 방식 총 3가지가 있다.컨테이너는 생성 & 삭제가 간편하므로 데이터 보존에 있어 위험에 노출되어 있다. 볼륨은 컨테이너를 삭제하더라도 해당 컨테이너에서 만들어진 파일들을 특정 호스트 디렉토리 혹은 볼륨에 저장시킬 수 있기 때문에 많이 사용된다.컨테이너가 아닌 외부에 데이터를 저장시키기 때문에 스테이트리스(stateless)하다.스테이트리스한 컨테이너 설계는 도커를 사용할 때 매우 바람직한 설계 방법 …1. 호스트 볼륨 공유 방식# mysql 컨테이너 생성> docker run -d \ # 백그라운드 실행(detached)> -e ..
- [ Network/Docker ][Network | Docker] 컨테이너 애플리케이션 구축2024-06-30 23:32:211. MYSQL 이미지 다운로드 및 컨테이너 생성$ docker run -d \$ --name wordpressdb \$ -e MYSQL_ROOT_PASSWORD=${pwd } \$ -e MYSQL_DATABASE=wordpress \$ mysql:5.7mysql 이미지를 가져와 데이터베이스 컨테이너를 생성한다.--name - 컨테이너 이름${pwd } - 자기가 원하는 비밀번호를 입력한다.MYSQL_DATABASE - 컨테이너 생성 시 만들어질 데이터베이스 이름mysql:5.7 - mysql 버전2. 1. Wordpress 이미지 다운로드 및 컨테이너 생성$ docker run -d \$ -e WORDPRESS_DB_HOST=mysql \$ -e WORDPRESS_DB_USER=root \$ -e WO..
- [ Network/Docker ][Network | Docker] 컨테이너 외부 노출2024-06-30 21:32:14🌟 [목표] 컨테이너 생성 후 해당 컨테이너에 아파치 웹 서버를 설치하고 외부에 노출시킨다.1. 호스트 포트와 바인딩할 컨테이너 생성하기Ubuntudocker pull ubuntu:latest # ubuntu 최신 버전 다운로드docker images # 다운로드한 이미지 확인docker run -it --name ubuntu -p 80:80 ubuntu:latestapt-get updateapt-get install apache2 -y # apache 설치service apache2 start # apache 실행 Rocky Linux💡 rocky linux는 이미지 호출할 때 `rockylinux` 가 아닌 `rockylinux/rockylinux` 로 호출해야 작동한다.docker pull ro..
- [ Network/Docker ][Network | Docker] 설치 및 컨테이너 생성2024-06-30 21:00:59🐳 시작하세요! 도커 쿠버네티스를 참고하여 작성하였다.1. docker 설치❓ docker는 root 혹은 sudo 명령어로 설치해야 하며 64 비트에 최적화되어 있다.yum install -y yum-utils # yum 패키지 매니저 관련 유틸리티 모음 설치# 저장소 url을 추가하면 이후 도커 관련 패키지를 설치 / 업데이트할 수 있음# 끌어쓴다? 는 느낌이 강하다..yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum install -y docker-ce # 도커 설치systemctl start docker # 실행systemctl status docker # 상태 확인systemctl en..
- [ Network/Docker ][Network | Docker] 용어 및 개념2024-06-30 19:35:51도커컨테이너를 다루는 도구(컨테이너 런타임)컨테이너 기반 가상화 플랫폼으로 애플리케이션 개발 / 배포 / 실행을 단순화한 오픈소스 프로젝트가상화 기술 중 하나인 컨테이너를 이용하여 서버 환경을 구성기존에는 가상 머신을 이용해 각각의 가상 서버로 환경을 구성하였지만 도커는 호스트 os와 커널을 공유하며 각각의 애플리케이션을 독립적인 컨테이너로 구성하여 관리함이미지라는 단위로 애플리케이션을 관리함쿠버네티스 - 컨테이너 분산 배치 / 상태 관리 / 컨테이너 구동 환경 관리컨테이너도커 엔진에서 사용하는 기본 단위이자 도커 엔진의 핵심격리된 공간에서 프로세스가 동작하는 것이미지로 컨테이너 생성 시 해당 이미지 목적에 맞는 파일 시스템과 격리된 자원 / 네트워크를 사용할 수 있는 독립 공간이 생성되고 이것은 도커 ..