docker(7)
-
docker, failed to start daemon, ensure docker is not running or delete /var/run/docker.pid
개요 docker 명령어를 실행 시켰는데 아래와 같이 Docker daemon에 접속 할 수 없다고 뜬다. $ docker ps Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?이런 경우 대부분 docker 서비스가 실행 되지 않아 생긴 현상이므로 아래 명령으로 docker를 실행시키면 됩니다. $ sudo systemctl start docker.service하지만 전 재시작을 시켜도 아무런 로그도 없이 계속 에러가 뜹니다. 해결방법 먼저 왜 실행이 안되는 지 확인 해야합니다. docker에는 debug 모드가 있어 로그를 확인 할 수 있습니다. $ sudo dockerd -D ..
2023.06.14 -
docker push : authorization failed
Dockerfile을 사용해 새로운 이미지를 생성하고 Dockerhub Repository에 이미지를 Push 하려니 아래와 같은 에러가 발생했습니다. D:\Workspace\Postgres\Dockerfile>docker push xxxxx/postgres:15.3 969a431fe6ee: Waiting e7787c9e6548: Waiting f03b40093957: Waiting 5ea6efaf51f6: Waiting 5d48fbe991ff: Waiting 15b4be0dc097: Waiting 9d72f84fb861: Waiting 14cf26be478a: Waiting 75073e0a005c: Waiting 5d52569da92e: Waiting 078b0dfe0eaf: Waiting 9d674c..
2023.06.08 -
PostgreSQL Docker DB 초기화
소개 요즘은 간단한 프로젝트나 테스트를 하기 위해 Docker를 사용하여 Database를 띄우는 경우가 많습니다. 그럴때 마다 백업 된 데이터를 다시 넣어주거나 데이터를 일일이 다시 넣어주는 일은 매우 귀찮은 일입니다. Database를 가장 맨 처음 딱 한번만 데이터를 넣고 싶을 때 사용하는 방법에 대해 알아보도록 하겠습니다. Init Data 준비 CREATE TABLE USERS( index SERIAL PRIMARY KEY, id VARCHAR NOT NULL, name VARCHAR NOT NULL, email VARCHAR NOT NULL ); INSERT INTO USERS(index, id, name, email) VALUES(DEFAULT, 'hgsp', '박혁거세', 'ysp@goog..
2023.04.25 -
Docker Container Exit Code
소개 이번 포스팅에서는 Docker Container의 Exit Code에 대해 알아봅니다. Docker를 사용하다보면 예기치 않게 Container가 내려가거나 내려가 있어도 무슨 원인으로 내려갔는지 모를 경우가 많습니다. 이때 Exit Code를 확인하여 원인을 알아 볼 수 있습니다. Docker 종료 된 Container 목록 확인 > docker ps -a --filter "status=exited" docker ps -a로 모든 컨테이너 목록을 가져오고 --filter 옵션으로 exited 된 컨테이너 목록만 가져 올 수 있습니다. Exit Code 종류 Exited (0) 0 코드는 가장 일반적인 경우로, 컨테이너 내부의 init process가 자신의 역할을 끝낸 후 정상적으로 종료 되었을 ..
2023.04.24 -
FastAPI Docker 이미지 제작
소개 이번 포스트는 FastAPI 서비스를 Docker Image로 만들어 띄우는 방법에 대해 소개합니다. main.py 생성 main.py 파일을 생성하여 기본 코드를 작성합니다. from fastapi import FastAPI app = FastAPI() @app.get("/") def root(): return {"hello root"} @app.get("/world") def world(): return {"hello world"} 해당 코드는 /로 접속하면 [hello root]가 출력 되고 /world로 접속하면 [hello world]가 출력 되는 간단한 프로그램입니다. pip 모듈 정의 pip는 필요 모듈을 따로 정의하여 자동으로 패키지 추가가 가능합니다. requirements.txt ..
2023.04.19 -
RHEL8.5 Docker 및 docker-compose v2 설치
https://docs.docker.com/engine/install/rhel/ 위 사이트는 docker에서 RHEL에 대한 docker 설치에 대해 설명하지만 정상적으로 동작하지 않습니다. 그래서 rhel repo를 centos repo로 변경하였습니다. OS 요구사항 도커 엔진을 설치하기 위해서는 RHEL 7 또는 8 버전이 필요합니다. 이전 버전 제거 docker가 설치되어 있지 않다면 넘어가셔도 상관없습니다. $ sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine \ podm..
2023.04.19