개요ec2에서 docker로 mysql 데이터베이스를 관리하는데 데이베이스를 시각화하고 싶었다. 본문1. EC2 인스턴스에서 MySQL Docker 컨테이너 포트 확인먼저, EC2 인스턴스에서 MySQL Docker 컨테이너가 어떤 포트에서 동작하는지 확인해야 한다. 이 정보는 docker-compose.yml 파일에서 mysql 서비스의 포트 설정을 확인예를 들어, docker-compose.yml 파일에서 MySQL 서비스의 포트가 3307:3306으로 설정되어 있다면, MySQL 서비스는 호스트의 3307 포트로 바인딩되어 외부에서 접근할 수 있다. 여기서 3307은 호스트(즉, EC2 인스턴스)의 포트이며, 3306은 Docker 컨테이너 내부 MySQL 포트다. 2. MySQL Workbench..
문제점docker-compose.yml 파일에서 환경 변수를 제대로 로드하지 못하는 문제가 있었다. 확인해야할 점은 다음과 같았다.1. .env.production 파일에 내용이 제대로 들어가 있는지 확인2. env_file: - .env.production을 docker-compose.yml에 추가되었는지 확인3. docker-compose.yml 파일과 .env.production 파일이 동일한 디렉토리에 위치해 있는지 확인. 4. docker-compose config 명령어를 사용하여 환경변수가 제대로 출력되는지 확인 모든것을 확인해본 결과 설정은 분명 맞게 한 것 같은데 docker-compose config 시 환경변수가 출력이 안된다. 폴더구조project-root/ ├── back/ │ ..
문제점mysql-1 | mysqld: Can't open file: 'mysql.ibd' (errno: 0 - )mysql-1 | 2024-07-02T06:29:53.710741Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Enginemysql-1 | 2024-07-02T06:29:53.710877Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.mysql-1 | 2024-07-02T06:29:53.710914Z 0 [ERROR] [MY-010119] [Server] Abortingmysql-1 | 2024-07-02T06:29:53.711250Z 0..
Docker와 Docker Compose를 설치하는 방법1. 시스템 업데이트: sudo apt-get update sudo apt-get upgrade -y 2. Docker 설치: sudo apt-get install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update ..
# Docker 이미지 빌드 docker build -t my-react-app . # Docker 컨테이너 실행 (포트 매핑 및 SSL 설정) docker run -d -p 80:80 -p 443:443 --name my-react-container my-react-app # Docker Compose로 빌드 및 실행 sudo docker-compose up --build -d # Docker 컨테이너 확인 sudo docker ps # Docker 컨테이너 내부로 진입 sudo docker exec -it /bin/sh sudo docker exec -it 94ea271ff3af /bin/sh # 빌드된 파일이 있는지 확인 ls /usr/share/nginx/html#빌드 및 실행 과정에서 문제가 ..
개요그동안 사이드 프로젝트를 배포한 것을 돌이켜보면 윈도우 로컬 환경에서 작업을 하고 ec2에서 만든 인스턴스 서버를 통해 배포를 진행하였다. 하지만 각각의 프론트와 백엔드를 위해서는 인스턴스를 두 개씩은 만들어야했다. docker를 사용하면 하나의 인스턴스에서 프론트와 백엔드를 모두 가동시킬 수 있다. 자연스레 비용은 줄어들 것이다. 또한 인스턴스간에 왔다갔다 하면서 작업할 필요도 없다. 디렉토리 구조reactchat/├── front(프론트 작업폴더) └── Dockerfile └── nginx/ └── nginx.conf├── docker-compose.yml└── renew_certificates.sh 필요한 파일들Dockerfile (docker image로..