Tools/Docker(13)
-
[Docker] 예제
3번의 프로젝트를 진행하면서 추후 참고할 만한 부분만 가져왔습니다. 1. 디렉터리 구조 frontend, backend 소스코드에 이미지 빌드를 위한 Dockerfile을 생성.https 인증서 발급을 위한 cert-compose.yml과 nginx.conf.db를 위한 db-compose.yml 생성.application 실행을 위한 app-compose.yml과 reverse proxy를 위한 nginx 설정 파일들 추가. 2. Dockerfile 예시 가. frontend (react)# 5173 port를 사용하는 React를 정적으로 빌드하다음 Nginx를 이용해 배포한다.# nginx 이미지를 사용합니다. 뒤에 tag가 없으면 latest 를 사용합니다.FROM nginx:1.26.1# roo..
2024.12.09 -
[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