Proxmox를 이용해 Docker용 Ubuntu 서버를 설치해보자
적당한 이름과 규칙에 따라 VM ID를 지어주었다

Ubuntu 22.04LTS 버전으로 설치

저장소가 NVME이기 때문에 캐시(Write back)를 설정해주고 Advanced에서 SSD emulation을 체크해줬다

코어는 나중에 바꿀 수 있으니 일단 적당히 4코어로 설정 하자

Ballooning Device 체크 해제
아마 가변 메모리 같은데 메모리 남아 돌아서 상관없다.

Ubuntu 네트워크는 딱히 호환성이나 속도차이가 없으니 기본설정 그대로 진행

마지막으로 설정을 확인하고 마친다.
생성하고 쉘 열어서 스타트 누르는게 귀찮아서 그냥 Start after created를 체크했다

수백번도 더 보는 Ubuntu 설치 화면

서버 설치하는데 한글 쓰는곳은 아직 못봤다 기본설정 English로 진행

업데이트는 나중에 직접 하겠다

키보드 레이아웃도 기본 설정인 English (US)로 진행

minimized로 설치를 하면 가끔 예상치 못한 에러가 나서 수동적으로 설치해줘야 되는것들이 생기기 때문에 기본 설정으로 진행

IP 주소도 규칙에 맞게 설정해준다

프록시는 안써서 패스

미러는 당연히 한국서버로

lvm을 쓸 예정으로 기본 설정으로 진행

Docker 설치용 Ubuntu이기 때문에 루트에 전부 할당

서버 이름과 유저 이름을 적절히 설정한다

SSH server는 따로 설치하면 귀찮아서 여기서 그냥 체크해준다

Docker를 설치해 사용할 예정 이지만 따로 설치하겠다

설치가 진행되고 있는 모습

설치가 완료되고 reboot 할때 미디어 제거하고 엔터누르라 한다. 엔터 누르고 재부팅하면 알아서 부트로더가 먼저 올라간다

재부팅이 완료되고 나면 SSH를 통해 접속한다


이제 Docker를 설치 해보자
curl -fsSL https://get.docker.com/rootless | sh

~/.bashrc에 추가하라는 두개의 환경 변수를 추가한다
export PATH=/home/docker/bin:$PATH
export DOCKER_HOST=unix:///run/user/1000/docker.sock

아래 명령어를 이용해 부팅시 자동으로 실행되도록 설정 한다
sudo loginctl enable-linger docker
마지막으로 docker 웹 관리 툴인 portainer를 설치하고 마무리 하자
portainer의 data가 저장될 영역을 만들어준다
mkdir -p ~/data/portainer
아까 만들어준 영역을 볼륨으로 잡아주고 portainer 컨테이너를 실행시킨다.
docker run -d -p 9000:9000 -v /var/run/user/1000/docker.sock:/var/run/docker.sock -v ~/data/portainer:/data --name portainer-ce --restart=always portainer/portainer-ce

컨테이너가 정상적으로 실행된것을 확인했다면 접속해본다
정상적으로 설정 화면이 뜨는데 관리자 계정을 설정해주자

설정한 계정으로 접속하면 docker server가 가동중인것을 확인 할 수 있다

이로써 Proxmox에 Docker용 Ubuntu를, Ubuntu에 Docker를 rootless로 설치 완료하고 portainer까지 설치를 마쳤다
portainer는 커뮤니티 에디션(무료버전)을 설치했고 9000포트는 http 8443포트는 https포트이다