docker(13)
-
[Nginx] HTTPS 적용
1. HTTPS 필요 Nginx SSL Termination이란 Nginx 서버가 클라이언트와의 SSL/TLS 연결을 종료하고, 그 이후의 트래픽을 암호화 없이 백엔드 서버로 전달하는 과정을 의미한다. 이를 통해 백엔드 서버의 부담을 줄이고, SSL/TLS 관리와 인증을 Nginx가 처리할 수 있도록 한다. 외부와의 통신은 보안이 중요한 만큼 HTTPS를 사용하여 데이터를 암호화한다. 외부에서 제3자가 데이터가 전송되는 동안 데이터를 들여다볼 수 없게 만든다. 서버 내부에서는 암호화의 필요성이 줄어들기 때문에 효율성을 위해 HTTP를 사용하여 통신한다. 이렇게 하면 백엔드 서버에서 복호화하는데 필요한 부담을 줄일 수 있다. 2. 원리 (HTTPS 통신에 대한 간단한 설명 참고) 3. 로컬 개발 환경에서..
2024.08.04 -
[Docker] MySQL 설치
1. Dockerhub mysql mysql - Official Image | Docker Hub Quick reference Supported tags and respective Dockerfile links 8.0.32, 8.0, 8, latest, 8.0.32-oracle, 8.0-oracle, 8-oracle, oracle 8.0.32-debian, 8.0-debian, 8-debian, debian 5.7.41, 5.7, 5, 5.7.41-oracle, 5.7-oracle, 5-oracle 5.7.41-debian, 5.7-debian, 5- hub.docker.com node.js 수업이 mysql을 사용하게 되었다. 따라서 mysql을 Dockerfile에 추가하고 docker-compose..
2023.03.10 -
[Docker] Multi-architecture build
1. 멀티 플랫폼을 지원하는 이미지 생성하기 Multi-platform images docs.docker.com [Docker] Buildx로 cross-platform 이미지 빌드하기 Buildx Docker는 multi-architecture 빌드 등, 다양한 빌드 옵션을 지원하는 CLI 플러그인을 제공합니다. Buildx는 19.03 이후 버전부터 사용이 가능하다고 하니 버전 확인이 필요합니다. 공식 문서에 따르면, velog.io 멀티 플랫폼 빌드를 위한 Docker Buildx 개요 최근 Apple M1 기반의 맥북의 등장, AWS 그라비톤 서버군의 등장으로 ARM64 기반의 서버들을 지원하기 위한 도커 이미지 빌드가 필수로 되가고 있다. 따라서 이를 위한 방법으론 크게 2가지가 있 gurume..
2023.03.07 -
[Docker] Github와의 연동
0. 참고자료 출처 : https://youtu.be/cqlY1Hc70H0 1. Github와 Docker의 만남 왜 만남? 기본적으로 생성한 이미지를 dockerhub에 업로드할 수 있다. 하지만 dockerhub에서는 무료 비공개 업로드는 하나밖에 안 된다. 그래서 다수의 비공개 업로드를 위해서 Github를 활용할 필요가 있다. 2. Container Registry Github의 Packages에서는 Container Registry라는 기능을 제공한다. (Docker는 현재 Container Registry로 대체되었다.) Working with the Container registry - GitHub Docs About the Container registry The Container regi..
2023.02.28 -
[Docker] 연습하기
1. 연습 시작 0) 실습 환경 조성 mkdir -p ~/Desktop/docker-test/mountDir 1) 이미지로 컨테이너_1 만들기 docker run -d --name con_1 docker/getting-started 2) 컨테이너_1에 test.txt 만들기 docker exec con_1 mkdir /app; docker exec con_1 touch /app/test.txt; docker exec con_1 ls /app | grep test.txt; 3) 컨테이너_1을 commit해서 이미지로 만들기 docker commit con_1 con_2; docker images | grep con_2; 4) 컨테이너_2 만들기. 이때 호스트에 bind mount하기 docker run -..
2023.02.27 -
[Docker] Compose
0. Compose? 사랑합니다. 이고잉님 솔직히 docker run 명령어를 사용할 때마다 너무 복잡하다고 느낀다. 혹시 옵션이 하나라도 누락되었을까 걱정되기도 한다. 또 도커를 모르는 친구들과 협업할 때 저 docker run 명령어의 옵션을 하나하나 설명하는 것은 ... 좀 그렇다. compose가 이런 걱정을 덜어줄 수 있다. 1. Compose! 이런 상황을 가정하자 docker-compose.md GitHub Gist: instantly share code, notes, and snippets. gist.github.com 가. 명령어만 사용하기! 만약 정직하게 명령어를 입력한다면… docker network create wordpress_net docker \ run \ --name "db"..
2023.02.27 -
[Docker] 가상화된 Docker host에 접근하기
이전에 다룬 nsenter에 관한 부분을 링크한다! 중요한 부분이라 따로 표시해 둔다. [Docker] 포트포워딩 1. 포트포워딩! 예시로서 웹서버를 컨테이너에 설치했다고 가정해 보자. 이 컨테이너가 설치된 운영체제를 우리는 docker host라고 한다. 하나의 도커 호스트에는 다수의 컨테이너가 있을 수 있다. ramen4598.tistory.com
2023.02.27 -
[Docker] 이미지 배포
1. 이미지 배포 github의 동작방식을 참고해 이해하면 편하다. Local에서 image를 생성한다. 생성한 image를 Dockerhub과 같은 Container Registry에 Push한다. Docker가 설치된 곳에서 image를 Pull해 Container에 담아서 실행한다. 가. Dockerhub Dockerhub에서 Repository를 생성한다. Repo 옆에 보면 해당 repo로 push할 때 사용할 명령어를 복사할 수 있다. docker push 이미지이름:tagname 나. 이미지 이름 맞추기 push하려면 local의 이미지 이름과 repo의 이미지 이름이 같아야 한다. docker tag tag 명령어로 이름을 바꿀 수 있다. (원본은 유지된다.) 다. 로그인 docker lo..
2023.02.27