Docker 19

[Docker] Bind Mount

개요 2023.07.12 - [Docker] Volume에서 컨테이너에서 사용한 데이터를 유지하기 위한 방법 중 하나인 Volume에 대해서 알아보았다. 이 글에서는 다른 방법 중 하나인 Bind Mount에 대해서 정리한다. Bind Mount Docker 프로세스가 관리하는 호스트 경로를 저장 공간으로 사용하는 Volume과 다르게, Bind mount는 호스트에 저장된 임의의 파일 또는 경로를 컨테이너에 마운트 하여 사용할 수 있다. 파일이나 경로는 호스트 시스템에서 절대 경로로 참조된다. 만약 호스트에 존재하지 않는 파일이나 경로를 마운트 시도하는 경우, Docker에 의해 자동으로 생성된다. Bind Mount 하여 컨테이너 실행 Volume을 사용하는 것과 동일하게 --mount, -v 옵션으..

Docker 2023.07.13

[Docker] Volume

개요 기본적으로 Docker 컨테이너 내에 저장되는 데이터는 컨테이너가 삭제될 때 휘발된다. 컨테이너 생명주기와 관계없이 데이터를 유지하기 위해서는 컨테이너 내 저장 공간을 호스트와 연결해야 하는데, Docker는 그 방법 중 하나로 Volume을 제공한다. 이 글에서는 Volume에 대해 정리해보려고 한다. Volume Volume은 컨테이너에서 생성되거나 사용되는 데이터를 유지하기 위한 방법 중 하나로, Docker가 관리하는 Host 파일 시스템의 일부에 컨테이너 데이터가 저장된다. Linux의 경우 /var/lib/docker/volume에 해당한다. Docker CLI나 API를 통해 Volume을 관리할 수 있고 백업 또는 마이그레이션 하기 좋다. Volume 생성 / 조회 / 삭제 Docke..

Docker 2023.07.12

[Docker] 컨테이너 시작/중지/재시작

개요 Docker로 PostgreSQL을 사용하고 있는데, 서버를 자주 끄고 켜다 보니 사용할 컨테이너가 중지 상태로 남아있다. 데이터베이스이므로 기존 컨테이너를 계속 사용하기 위해 컨테이너를 재시작하는 방법을 적어둔다. 컨테이너 시작 중지된 컨테이너를 시작한다. docker start [OPTIONS] CONTAINER [CONTAINER...] 컨테이너 재시작 컨테이너를 재시작한다. docker restart [OPTIONS] CONTAINER [CONTAINER...] 컨테이너 중지 실행 중인 컨테이너를 중지한다. docker stop [OPTIONS] CONTAINER [CONTAINER...] 참고 문서 https://blog.naver.com/foxrain93/220663874441 https..

Docker 2023.04.10

[Docker] 이미지/컨테이너 파일로 저장/로드

docker commit 도커는 일반적으로 build, commit 명령으로 만든 이미지를 저장소에 업로드하고, 업로드한 이미지를 내려받아 사용한다. 다만 간혹 저장소를 거치지 않고 도커 이미지를 옮겨야 할 때가 존재하는데, 이 경우에는 도커 이미지와 컨테이너를 tar 형식으로 저장할 수 있다. 도커 이미지를 tar로 저장 도커 이미지를 tar 형식으로 저장한다. save 시 도커 이미지 태그를 지정하지 않으면, 이름이 같고 태그가 다른 모든 이미지를 저장한다. docker save [OPTIONS] IMAGE [IMAGE...] # -o : --output. 표준 출력 대신 파일로 저장한다. # 예시 docker save ubuntu -o ubuntu.tar 또는 아래와 같이 파일 리다이렉션으로도 실행..

Docker 2022.06.30

[Dockerfile] ARG / ENV

Dockerfile에서 사용하는 ARG 명령문과 ENV 명령문을 정리한다. ARG 도커 이미지 빌드를 위해 Dockerfile 내에서 사용하는 변수 빌드 시점에 사용하며, docker build 명령의 --build-arg 옵션에 해당한다. 사용할 때는 ${NAME}의 형태로 읽어서 사용할 수 있다. ARG ARG = FROM ${} FROM 이전에 있는 ARG는 FROM에서만 사용 가능하다. 즉, 내부에서 사용하기 위해서 한번 더 선언해야 한다. ARG centos_version FROM centos${centos_version} AS builder ARG centos_version # 안에서 사용하려면 또 ARG를 선언해야 한다. ENV CENTOS_VERSION=${centos_version} EN..

Docker 2022.05.19

[Docker] 이미지 용량 확인

서버에 저장된 Docker 이미지 용량을 확인하고자 한다. Docker의 디스크 사용량은 기본적으로 docker system df 명령으로 확인할 수 있다. docker system df docker system df # -v : --verbose. 공간 사용에 대한 상세 정보 표시 서버에 저장된 이미지는 총 15개이며, 그 용량의 합은 2.061GB 인 것을 확인할 수 있다. 이미지 각각에 대한 용량 정보도 확인할 필요가 있다면, 상세 정보를 표시하는 -v, --verbose 옵션 사용하면 된다. docker system df -v SHARED SIZE 행은 이미지가 다른 이미지와 공유하는, 즉 공통 데이터에 해당하는 공간의 용량이다. UNIQUE SIZE는 해당 이미지에서만 사용하는 공간의 용량이다...

Docker 2022.03.31

[Docker] inspect - 이미지/컨테이너 세부정보 확인

inspect은 기본 명령어 중 하나로 도커 이미지 또는 컨테이너의 세부 정보를 확인할 수 있다. 명령어 docker inspect 출력 결과는 JSON 형식이다. -f 옵션을 사용하면 특정 항목만을 출력할 수도 있다. 아래 명령어는 컨테이너에 할당된 IP 주소를 확인한다. docker inspect -f "{{ .NetworkSettings.IPAddress }}" Docker 컨테이너 IP 목록 확인 docker inspect -f '{{.Name}} -> {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

Docker 2022.03.22

[Docker] 사설 저장소 접속

공식 도커 이미지를 찾고, 다운로드하여 사용할 수 있는 저장소는 docker hub이다. docker에서 운영하는 docker hub는 docker 클라이언트와 기본적으로 연동되어 있으며, 아래와 같은 명령어로 터미널 환경에서 로그인할 수 있다. docker login 당연하지만 사람들은 공식 저장소만을 사용하지는 않는다. 회사의 경우 사내 보안을 위해서 사설 저장소를 제공하기도 한다. 그런 경우에는 docker login 명령어에 접속할 저장소의 주소를 적어주면 된다. docker login [OPTIONS] [SERVER] # -p : --password # -u : --username # --password-stdin : 표준입력으로 비밀번호 가져오기 # 예시 docker login localhos..

Docker 2022.03.02

[Docker] Dockerfile로 이미지 생성

2021.12.21 - [Docker] Dockerfile에서는 Dockerfile의 개념과 형식, 명령문 몇 가지에 대한 내용을 정리했다. 이 글에서는 Dockerfile 주 사용처인, 이미지 생성 방법에 대한 내용을 정리한다. 이미지 생성이 필요한 이유 Docker Hub 등에서 사용할 구성 요소나 서비스를 찾을 수 없는 경우 개발한 애플리케이션의 배포 편의성 이미지 생성 방법 1. Dockerfile 작성 2. 작성한 Dockerfile build build 명령을 이용해 작성한 Dockerfile로 이미지를 생성한다. docker build -t # -t : 생성한 이미지의 이름과 태그 지정 # 예시 docker build . -t docker_hub_username/imagename docker..

Docker 2021.12.22

[Docker] Dockerfile

Dockerfile Docker 이미지가 어떤 단계를 거쳐 빌드돼야 하는지를 담고 있는 텍스트 파일 Docker는 Dockerfile에 나열된 명령문을 차례대로 수행하여 이미지를 생성한다. 형식 INSTRUCTION arguments # 주석 각 명령문은 명령어(Instruction)으로 시작하며, 여러 개의 인자(Arguments)가 나열될 수 있다. 관례적으로 명령어는 대문자로 작성한다. 명령문 FROM FROM FROM : # 예시 FROM ubuntu FROM python:3.6​ Docker 이미지는 base 이미지 위에 새로운 층을 쌓아 새 이미지를 생성한다. FROM 명령문은 base 이미지를 지정하기 위해 사용하며, Dockerfile 최상단에 위치한다. 일반적으로 base 이미지는 Doc..

Docker 2021.12.21
1 2