반응형 Docker10 PostgreSql docker 실행 시 Data directory "/var/lib/postgresql/data" has invalid permissions 조치 docker compose로 postgresql를 띄워서 테스트 해볼 일이 생겨서 간단히 실행을 해봤는데 아래와 같은 디렉토리 permission 에러가 발생했다.Data directory "/var/lib/postgresql/data" has invalid permissions docker compose 파일은 아래와 같이 작성이 된 상태였다.version: '3'services: postgres: image: postgres volumes: - ./postgres_data:/var/lib/postgresql/data environment: POSTGRES_DB: postgre POSTGRES_USER: postgre POSTGRES_PASSWORD.. 2024. 11. 17. Docker로 MariaDB 설치하기 개발 테스트 및 스터디 하다보면 DB 구성이 번거로울때가 많은데 docker로 MariaDB를 간단하게 구성해보는 방법을 알아본다 Docker MariaDB 설치 docker로 mariaDB를 설치한다. 설치 시 컨테이너명과 ROOT비밀번호를 설정해 준다. # docker run -p 3306:3306 --name [컨테이너 명] -e MARIADB_ROOT_PASSWORD=[ROOT비밀번호] -d mariadb docker run -p 3306:3306 --name mariadb -e MARIADB_ROOT_PASSWORD=123456 -d mariadb 필자는 로컬에 이미지가 없어서 이미지 다운로드부터 시작을 했다. docker ps 명령어로 컨테이너가 실행된 것을 확인할 수 있다. Docker Ma.. 2024. 3. 18. docker permission denied 해결 서버에 Docker를 설치하고 Docker 명령어 확인을 위해 docker ps나 docker images 등을 실행하면 아래와 같이 docker permission denied 에러가 뜬다. 이에 대한 원인과 해결하기 위한 방법을 알아본다. 원인 docker 명령어를 사용하는 docker 데몬은 Unix 소켓을 통해서 실행이 된다. 에러 내용에서 확인할 수 있듯이 /var/run/docker.sock 파일은 root 사용자 권한으로 설정이 되어 있다. 따라서 이를 일반 사용자가 접근 할 수 있도록 하기 위해서는 docker 그룹을 만들고 여기에 일반 사용자를 추가해서 해결한다. 해결 docker 그룹에 사용자를 추가한다. # docker 그룹에 사용자 추가 sudo usermod -aG docker $.. 2024. 2. 12. MongoDB docker 설치 테스트나 학습 용도로 로컬에 MongoDB를 설치해서 사용하는 경우가 종종있는데 로컬에 직접 인스톨하는 방법보다는 Docker를 활용하면 관리하기가 편리하고 간단하다. MongoDB Docker 실행 다른거 다 생략하고 아래와 같이 docker run 명령어만 실행하면 Docker로 mongodb가 실행이 된다. 로컬에 mongodb이미지가 없으면 이미지 pull 부터 실행된다. docker run -d --name mongodb \ -v ~/data:/data/db \ -p 27017:27017 \ mongo 각 옵션에 대한 설명은 아래와 같다. - -d: 백그라운드 실행 - -v: 볼륨 마운트, 로컬 파일 경로를 컨테이너 내부의 파일경로로 마운트, - -p: 로컬 포트 포워딩 - 도커 이미지: 위와 .. 2023. 9. 16. Docker Multi Application(여러 어플리케이션) 실행 컨테이너 사용 시 자주 발생할 것 같지도 않고, 컨테이너 사상과도 안맞을 것 같지만 한개의 컨테이너에서 여러개의 프로그램을 실행해야하는 일이 생겼다. 기존 시스템을 컨테이너로 전환하면서 내부적인 상황으로 컨테이너를 분리하지 못하고 한개 컨테이너로 실행을 해야 하는 경우인데 처음에는 좀 막막했지만 생각보다 간단했다. 결론부터 얘기하자면, 컨테이너에서 메인 프로그램은 일반적인 컨테이너처럼 포그라운드로 실행시키고, 나머지 프로그램들은 백그라운드로 실행을 시키면 된다. 간단히 예를 들어서 한개의 컨테이너에 2개의 어플리케이션을 실행해야 한다고 하면 아래와 같이 구성한다. 먼저 Dockerfile에서 어플리케이션을 컨테이너로 모두 Copy 한다. ... RUN mkdir /app COPY ./app1.jar /a.. 2022. 9. 6. IntelliJ Docker 빌드&실행 환경(Dockerfile) 매번 커맨드로 Docker 커맨드를 실행하는 것이 번거로운 경우 IntelliJ에서 Docker 실행 환경을 구성할 수 있다. Dockerfile, Docker-Image, Docker-Compose를 활용할 수 있는데 여기서는 Dockerfile 기준으로 실행 환경 구성을 해본다. 먼저 Dockerfile이 포함된 프로젝트를 열고, Run/Debug Configurations를 실행한다. 그리고 좌측에서 Add New Configuration(+)를 선택하고 Docker > Dockerfile을 선택한다. 일반적으로 Docker build, run 시에 사용하는 이름, 옵션 등을 화면에서 입력 한다. 기본적인 옵션 외에도 'Build'영역의 Modify options나 'Run'영역의 Modify를 클.. 2022. 9. 5. Docker Nginx Simple 컨테이너 생성 컨테이너 기반으로 k8s나 배포 구성 등을 테스트를 할 때 실제 어플리케이션이 아니더라도 테스트용 컨테이너 하나쯤은 필요하다. 그때그때 매번 만들어서 테스트를 했는데 간단한 nginx 컨테이너 하나를 정리해본다. 먼저 디렉토리 하나 생성하고 Dockerfile, index.html 파일 2개를 생성한다. Dockerfile은 아래와 같이 작성한다. FROM nginx:1.21.1 COPY ./index.html /usr/share/nginx/html/index.html EXPOSE 80 다음으로 index.html은 다음과 같이 작성한다. Docker Container Nginx 필요한 파일은 모두 준비됐고 로컬에서 한번 실행되는지만 본다. 생성한 디렉토리로 이동 후 아래 명령들을 차례로 실행한다. # .. 2022. 8. 26. Docker Keep Running(실행 유지) 방법 Docker로 작업을 할 때 테스트, 디버깅 등의 목적으로 컨테이너 실행 상태를 유지하고 싶을 때가 있는데 어떻게 하는지 알아본다. 기본적으로 컨테이너는 내부 프로세스가 종료가 되면 컨테이너도 종료가 된다. 이는 컨테이너 프로세스를 백그라운드가 아닌 포그라운드로 실행을 하는 이유이기도 하다. 아래를 보면 기본 ubuntu이미지를 실행하고 docker 프로세스를 조회해보면 STATUS는 종료됐다고 나온다 docker run -d ubuntu 테스트나 디버깅을 목적으로 컨테이너에 접속해서 뭔가를 하고 싶은데 컨테이너는 종료가 된 상태이다. 다음과 같이 "-t" 옵션과 함께 실행을 하면 컨테이너를 실행상태로 유지를 할 수 있다. docker run -d -t ubuntu 컨테이너가 실행상태를 유지하고 컨테이너.. 2022. 8. 26. 이전 1 2 다음 반응형