docker 8

docker Ngix 서버로 접근 권한 설정

레지스트리 컨테이너는 미리 정의된 게정으로 로그인하도록 설정함으로써 접근을 제한할 수 있다.이 포스트에서는 별도의 Ngix 서버 컨테이너를 생성해 레지스트리 컨테이너와 연동하는 방식을 설명하고자 한다. 여기서는 스스로 인증한 (Self-Signed) 인증서와 키를 발급함으로써 TLS를 적용하는 방법을 설명한다* TLS : 전송 계층 보안(Transport Layer Security)의 약자로, 인터넷 통신에서 데이터를 암호화하여 안전하게 주고받기 위한 프로토콜 아래의 명령어를 차례대로 입력해 Self-signed ROOT 인증서(CA) 파일을 생성한다.인증서 정보를 입력하는 칸에는 전부 공백을 입력해도 상관없다. mkdir certsopenssl genrsa -out ./certs/ca.key 204..

docker 2025.07.09

docker 사설 레지스트리 컨테이너 생성

도커 사설 레지시트리를 사용하면 개인 서버에 이미지를 저장할 수 있는 저장소를 만들 수 있다.이 레지스트리는 컨테이너로서 구현되므로 이에 해당하는 도커 이미지가 존재한다이 이미지는 도커에서 공식적으로 제공되고 있기 때문에 아래의 run 명령어로 간단히 사용할 수 있다. docker run -d --name myregistry -p 5000:5000 --restart=always registry:2.6 --restart 옵션은 컨테이너가 종료되었을 때 재시작에 대한 정책을 설정한다always는 컨테이너가 정지 될 때마다 다시 시작하도록 설정했기 때문에 도커 호스트나 도커 엔진을 재시작하면 컨테이너도 함께 재시작 된다. --restart의 다른 입력으로는 on-failure와 unless-stopped가 있..

docker 2025.07.09

docker image 배포

이전 포스트에서는 이미지를 생성 및 추출하는 방법에 대해 알아보았다.이번엔 생성된 이미지를 다른 도커 엔진에 배포해보고자 한다.이를 위해서 이전 방식인 save나 export같은 방법으로 이미지를 단일 파일로 추출해서 배포할 수도 있지만 이미지 파일의 크기가 너무 크거나 도커엔진의 수가 많다면 이미지를 파일로 배포하기 어렵고 도커의 이미지 구조인 레이어 형태를 이용하지 않으므로 매우 비효율 적이다. 이를 해결하는 방법으로1. 도커 허브 이미지 저장소 이용2. 도컬 사설 레지스트리가 있는데, 그럼 아래에서 자세히 살펴보자 도커 허브 이미지 저장소 이용도커 허브는 도커 이미지를 저장하기 위한클라우드 서비스이다.사용자는 단순히 이미지를 올리고 내려받기만 하면 되므로 매우 간단하지만, 결제를 하지 않으면 비공개..

docker 2025.07.09

docker image 추출

도커 이미지를 별도로 저장하거나 옮기는 등 필요에 따라 이미지를 단일 바이너리 파일로 저장해야 할 때docker save 명령어를 사용하면 컨테이너의 커맨드, 이미지 이름과 태그 등 이미지의 모든 메타데이터를 포함해 하나의 파일로 추출할 수 있다. -o 옵션으로 추출될 파일명을 입력한다. docker save -o ubuntu_14_04.tar ubuntu:14.04 이렇게 저장된 ubuntu_14_04.tar의 이미지를 load 명령어로 다시 로드할 수 있다.docker load -i ubuntu_14_04.tar load 명령어로 이미지를 로드하면 이전의 이미지와 완전히 동일한 이미지가 도커 엔진에 생성된다. save와 load 명령어와 유사하게 사용할 수 있는 명령어로 export, import가..

docker 2025.07.09

docker image 생성

이번 포스트에서는 docker image에 대해서 정리하고자 한다 모든 컨테이너는 도커 이미지를 기반으로 생성되므로 이미지를 다루는 방법은 도커 관리에서 중요하다.도커 허브라는 중앙 이미지 저장소에서 이미지를 내려받는다.아래와 같이 search 명령어를 사용하여 허브에서 검색할 수도 있다. 도커로 개발하는 많은 경우에는 컨테이너에 애플리케이션을 위한 특정 개발 환경을 직접 구축한 뒤 사용자만의 이미지를 직접 생성해야 한다. 아래의 명령어를 통해 이미지로 만들 컨테이너를 생성하자 first라는 파일을 만들어 해당 컨테이너에 대한 변경사항을 만들고, docker commit 명령어를 입력해컨테이너를 이미지로 만든다.commit 명령어의 형식은 다음과 같다.docker commit [OPTIONS] CONT..

docker 2025.07.08

docker container 자원 할당 제한

docerk run 또는 create 명령어를 실행하여 컨테이너를 생성 할 때 자원제한을 설정하지 않으면 자원을 수요에 따라 제한없이 사용하는데, 이것을 방지하기 위해서 컨테이너 자원 할당 방법에 대해 알아보자 run 명령어에서 설정된 컨테이너의 자원 제한을 변경하려면 update 명령어를 사용한다.docker update (변경할 자원 제한) (컨테이너 이름)예시) docker update --cpuset-cpus=1 centos ubuntu docker run 명령어에 --memory를 지정해 컨테이너의 메모리를 제한할 수 있다.입력할 수 있는 단위는 m(megabyte), g(gigabyte)이며, 제한할 수 있는 최소 메모리는 4MB이다. 다음 명령어는 컨테이너의 사용량을 1GB로 제한한다doc..

docker 2025.07.08

docker volume

docker의 volume을 공유하는 방법은 세가지가 존재한다호스트와 컨테이너간 볼륨 공유--volumes-from 옵션 사용으로 컨테이너와 컨테이너간 볼륨 공유docker volume 명령어 사용호스트와 컨테이너간 볼륨 공유docker run -d --name wordpressdb_hostvolume -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress -v /home/wordpress_db:/var/lib/mysql mysql:5.7-v 옵션은 호스트의 /home/wordpress_db 디렉토리와 컨테이너의 /var/lib/mysql 디렉터리를 공유한다는 뜻이다. 즉 [호스트의 공유 디렉토리]:[컨테이너의 공유 디렉토리] 형태이다. 호스트와 컨테이..

docker 2025.07.08

docker로 아파치 웹 서버 띄우기 및 포트 포워딩

다음의 명령어로 docker에서 아파치 웹서버를 띄울 수 있다.docker run -i -t --name mywebserver -p 3306:3306 -p 7777:80 ubuntu:14.04 여기서 -i, -t 옵션으로 run을 실행하면 표준 입출력이 활성화된 상호작용이 가능한 셀 환경을 사용할 수 있다.만약 -d 옵션으로 run을 실행하면 입출력이 없는 상태인 포그라운드로 실행되어 사용자의 입력을 받지 않는다.만약 -d 옵션으로 run을 실행했더라도 exec 명령어를 사용하면 컨테이너 내부에서 명령어를 실행한 뒤 그 결과값을 반환 받을 수 있다. -p 옵션은 여러 개의 포트를 외부에 개방하기 위해 사용한다. 또한, 192.168.100.1:80와 같이 바인딩할 IP와 포트를 명시할 수 있다.이는, 컨..

docker 2025.07.08