docker
-
개요Docker 컨테이너 안에서 cron을 실행해야 하는 작업이 있어서 Dockerfile에 cron 설정을 추가했는데, 컨테이너는 잘 올라갔지만 cron이 실행되지 않는 문제가 발생했다.crontab -l로 확인해보면 제대로 등록까지 되어 있었는데도 아무 반응이 없었고, 구글로 검색했더니 명확한 해결방법을 찾지 못해 수많은 삽질을 통해 찾게된 해결방법을 정리해본다(몹시 간단).Dockerfile에 crontab 설정하기처음에 사용한 Dockerfile은 대략 아래와 같았다# 베이스 이미지FROM ubuntu:20.04# 패키지 설치RUN apt-get update && apt-get install -y cron# cron 파일 복사COPY cronfile /etc/cron.d/cronfile# cron..
Docker - Dockerfile에서 crontab 설정하기개요Docker 컨테이너 안에서 cron을 실행해야 하는 작업이 있어서 Dockerfile에 cron 설정을 추가했는데, 컨테이너는 잘 올라갔지만 cron이 실행되지 않는 문제가 발생했다.crontab -l로 확인해보면 제대로 등록까지 되어 있었는데도 아무 반응이 없었고, 구글로 검색했더니 명확한 해결방법을 찾지 못해 수많은 삽질을 통해 찾게된 해결방법을 정리해본다(몹시 간단).Dockerfile에 crontab 설정하기처음에 사용한 Dockerfile은 대략 아래와 같았다# 베이스 이미지FROM ubuntu:20.04# 패키지 설치RUN apt-get update && apt-get install -y cron# cron 파일 복사COPY cronfile /etc/cron.d/cronfile# cron..
2025.04.25 -
개요php, docker compose로 프로젝트를 진행하면서 composer를 설치하려는데 뭐 컨테이너를 따로 만들고 어쩌구 볼륨을 설정하고 어쩌구 이상하리만치 복잡하길래 간단한 방법을 만들어보았다.파일docker-compose.yml기본 compose 파일로 composer를 쓰나 안 쓰나 차이는 없다.version: '3.8'services: web: build: . ports: - "8080:80" volumes: - .:/var/www/htmlDockerfileDockerfile에서 직접 composer를 설치하고, 라이브러리도 설치한다.# PHP 7.4와 Apache 이미지 사용FROM php:7.4-apache# Composer 설치에 필요한 패키지 설치 ..
PHP - Docker-Compose 환경 PHP 프로젝트 빌드 시 Composer 설치개요php, docker compose로 프로젝트를 진행하면서 composer를 설치하려는데 뭐 컨테이너를 따로 만들고 어쩌구 볼륨을 설정하고 어쩌구 이상하리만치 복잡하길래 간단한 방법을 만들어보았다.파일docker-compose.yml기본 compose 파일로 composer를 쓰나 안 쓰나 차이는 없다.version: '3.8'services: web: build: . ports: - "8080:80" volumes: - .:/var/www/htmlDockerfileDockerfile에서 직접 composer를 설치하고, 라이브러리도 설치한다.# PHP 7.4와 Apache 이미지 사용FROM php:7.4-apache# Composer 설치에 필요한 패키지 설치 ..
2025.03.11 -
개요현재 인스턴스 서버에서 docker 명령어를 실행할 때마다 sudo를 붙여야 하는 불편함이 있어 이를 해결하기 위해 방법을 찾아보았다.1. 현재 사용자 Docker 그룹에 추가하기# 현재 사용자를 docker 그룹에 추가하는 명령어sudo usermod -aG docker $USER2. 세션 재시작 또는 로그아웃 후 다시 로그인그룹 변경 사항이 적용되기 위해 로그아웃 후 다시 로그인하거나 터미널을 재시작3. 권한 확인# 현재 사용자의 그룹 리스트 출력groups출력 결과에 docker 그룹이 포함되어 있다면 성공적으로 추가된 것이다.
Docker - sudo 없이 docker 명령어 사용하기개요현재 인스턴스 서버에서 docker 명령어를 실행할 때마다 sudo를 붙여야 하는 불편함이 있어 이를 해결하기 위해 방법을 찾아보았다.1. 현재 사용자 Docker 그룹에 추가하기# 현재 사용자를 docker 그룹에 추가하는 명령어sudo usermod -aG docker $USER2. 세션 재시작 또는 로그아웃 후 다시 로그인그룹 변경 사항이 적용되기 위해 로그아웃 후 다시 로그인하거나 터미널을 재시작3. 권한 확인# 현재 사용자의 그룹 리스트 출력groups출력 결과에 docker 그룹이 포함되어 있다면 성공적으로 추가된 것이다.
2025.03.09 -
Docker 설치# 필수 패키지 설치sudo apt-get updatesudo apt-get install apt-transport-https ca-certificates curl software-properties-common# Docker GPG key 추가curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# Docker 저장소 추가echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https..
Docker - Debian 서버에 docker, docker compose 설치하기Docker 설치# 필수 패키지 설치sudo apt-get updatesudo apt-get install apt-transport-https ca-certificates curl software-properties-common# Docker GPG key 추가curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# Docker 저장소 추가echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https..
2025.03.09 -
개요프로젝트를 진행하던 중 나의 작고 소중한 php 서버가 mysql 서버를 접근하지 못하여 찾아보니 컨테이너간 네트워크가 연결되어있지 않아 발생한 해프닝이었다.딸깍만 하면 모든게 자동으로 되는 환경을 원하기 때문에 docker compose의 networks 옵션에 대해서 찾아보았다.Docker Compose 네트워크 옵션옵션설명예시external이미 만들어진 네트워크를 사용한다.(새로 만들지 않음)external: truename네트워크의 이름을 정한다.name: my_custom_networkdriver컨테이너들이 서로 연결되는 방식을 정한다.(default: bridge)driver: overlaydriver_opts드라이버가 필요로 하는 추가 설정한다.driver_opts: com.docker...
docker - docker compose networks 옵션과 드라이버 종류개요프로젝트를 진행하던 중 나의 작고 소중한 php 서버가 mysql 서버를 접근하지 못하여 찾아보니 컨테이너간 네트워크가 연결되어있지 않아 발생한 해프닝이었다.딸깍만 하면 모든게 자동으로 되는 환경을 원하기 때문에 docker compose의 networks 옵션에 대해서 찾아보았다.Docker Compose 네트워크 옵션옵션설명예시external이미 만들어진 네트워크를 사용한다.(새로 만들지 않음)external: truename네트워크의 이름을 정한다.name: my_custom_networkdriver컨테이너들이 서로 연결되는 방식을 정한다.(default: bridge)driver: overlaydriver_opts드라이버가 필요로 하는 추가 설정한다.driver_opts: com.docker...
2025.03.04 -
🌟 한글명언 OPEN API 기술설명서본 문서는 한글명언 OPEN API 프로젝트의 전반적인 시스템 구성, 사용 기술(버전 포함), 모듈별 역할, 실행 방법, 배포 환경, 관련 링크 정보 및 CI/CD 파이프라인 설정에 관한 설명서입니다.1. 개요api key나 복잡한 인증 필요없이 한글로 번역한 명언을 받아볼 수 있는 OPEN API 서비스 구현2. 관련 링크 📑아래는 프로젝트와 관련된 다양한 링크 정보입니다.API 문서: https://quote.aleph.kr/api-docs/(API 문서 페이지)관리자 페이지: https://quote.aleph.kr/admin(관리자 전용 명언 관리 페이지)깃허브: https://github.com/Aleph-Kim/korean-quote(프로젝트 소스 코드..
한글명언 OPEN API 기술 설명서🌟 한글명언 OPEN API 기술설명서본 문서는 한글명언 OPEN API 프로젝트의 전반적인 시스템 구성, 사용 기술(버전 포함), 모듈별 역할, 실행 방법, 배포 환경, 관련 링크 정보 및 CI/CD 파이프라인 설정에 관한 설명서입니다.1. 개요api key나 복잡한 인증 필요없이 한글로 번역한 명언을 받아볼 수 있는 OPEN API 서비스 구현2. 관련 링크 📑아래는 프로젝트와 관련된 다양한 링크 정보입니다.API 문서: https://quote.aleph.kr/api-docs/(API 문서 페이지)관리자 페이지: https://quote.aleph.kr/admin(관리자 전용 명언 관리 페이지)깃허브: https://github.com/Aleph-Kim/korean-quote(프로젝트 소스 코드..
2025.02.04 -
docker-compose.ymlversion: '3.8' # Docker Compose 파일 버전services: postgres: image: postgres:16 # PostgreSQL 최신 이미지 사용 container_name: postgresql-container # 컨테이너 이름을 'postgresql-container'로 지정 environment: POSTGRES_USER: postgres # 슈퍼유저 계정으로 'postgres' 사용 권장 POSTGRES_PASSWORD: 비밀번호 # DB 접속 비밀번호 설정 POSTGRES_DB: 데이터베이스 # 생성할 기본 데이터베이스 이름 설정 ports: - "5432:5432" # 호스..
PostgreSQL - docker compose 파일로 PostgreSQL 디비 실행하기docker-compose.ymlversion: '3.8' # Docker Compose 파일 버전services: postgres: image: postgres:16 # PostgreSQL 최신 이미지 사용 container_name: postgresql-container # 컨테이너 이름을 'postgresql-container'로 지정 environment: POSTGRES_USER: postgres # 슈퍼유저 계정으로 'postgres' 사용 권장 POSTGRES_PASSWORD: 비밀번호 # DB 접속 비밀번호 설정 POSTGRES_DB: 데이터베이스 # 생성할 기본 데이터베이스 이름 설정 ports: - "5432:5432" # 호스..
2024.08.15 -
docker-compose.ymlversion: '3.8'services: redis: image: redis:latest # 최신 Redis 이미지를 사용 container_name: redis-container # 컨테이너 이름을 'redis-container'로 지정 ports: - "6379:6379" # 로컬의 6379 포트를 Redis 컨테이너의 6379 포트에 매핑 volumes: - redis_data:/data # 로컬의 'redis_data' 볼륨을 컨테이너의 /data 디렉토리에 매핑하여 데이터 영속성 유지 environment: REDIS_PASSWORD: 비밀번호 # Redis 서버에 접근할 때 사용할 비밀번호 환경 ..
Redis - docker compose 파일로 redis 디비 실행하기docker-compose.ymlversion: '3.8'services: redis: image: redis:latest # 최신 Redis 이미지를 사용 container_name: redis-container # 컨테이너 이름을 'redis-container'로 지정 ports: - "6379:6379" # 로컬의 6379 포트를 Redis 컨테이너의 6379 포트에 매핑 volumes: - redis_data:/data # 로컬의 'redis_data' 볼륨을 컨테이너의 /data 디렉토리에 매핑하여 데이터 영속성 유지 environment: REDIS_PASSWORD: 비밀번호 # Redis 서버에 접근할 때 사용할 비밀번호 환경 ..
2024.08.15