728x90
반응형
0. 이 글을 작성하는 이유
이제 Docker image를 registry에 올려야 하는데 public말고 자체 registry를 구축하여 올리기 위해 Docker부터 registry까지 내부 설치하는 과정을 올리기 위함
1. 우선 내 ubuntu 버전 확인하기
lsb_release -a로 현재 ubuntu 버전 확인하기
lsb_release -a
2. 생각해 보니 Docker도 없군. 설치 시작(feat. RTFM)
저는 하라는 대로 했더니 설치가 되었더이다.
Install Docker Engine on Ubuntu | Docker Docs
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt install docker-compose
sudo apt-get install docker-compose-plugin
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
설치가 잘 되었는지 hello-world 컨테이너를 돌려보자.
docker run hello-world
3. 이제 Registry를 설치할 것
version: "3.3"
volumes:
registry_data: { }
services:
registry:
image: registry
container_name: registry
volumes:
- registry_data:/var/lib/registry/docker/registry/v2 # image 저장
ports:
- "5000:5000"
요걸 compose 파일로 해서 하나 만들고 실행한다.
테스트할 이미지는 아래 스크립트로 정말 간단하게 하고 빌드를 한다.
FROM golang:1.9
RUN mkdir /echo
그리고 daemon.json파일이 필요한데 /etc/docker에 없을 수 있다. 없다면 만들어주자.
daemon.json에는 내가 registry로 사용할 주소가 들어가면 된다.(기본적으로 5000번 포트가 국룰이다.)
"insecure-registries": ["http://localhost:5000"]
그리고 docker서비스를 재시작하자.
sudo service docker restart
4. 이제 registry에 올려볼 것
현재 registry는 위에서 적은 것처럼 localhost:5000번으로 기준을 잡고 들어가게 되어있다.
그러면 docker build를 하면서 localhost:5000/hello-world:latest 와 같은 형식으로 만든 후 push를 하면 된다.
docker push localhost:5000/hello-world:latest
728x90
반응형
'토이프로젝트 > 인프라 구축기' 카테고리의 다른 글
인프라구축기 - 유저 추가 및 디렉토리 접근 제한 (1) | 2024.01.14 |
---|