알파인리눅스 : docker 도커 설치 ( 항상 실행 )
※ 알파인 리눅스 서비스 Start & Stop ( https://knsesang2000.tistory.com/389 )
기본 레포지토리 외에 추가로 설정해야 업데이트가 가능한것이 많다.
기본 설정으로 사용하면 패키지 또는 docker 설치가 안될 수 있다
아래 미러서버는 지역에 따라 빠른곳이 다를수 있다.
■ ( root ) 레포지토리 정보 업데이트
vi /etc/apk/repositories
http://dl-cdn.alpinelinux.org/alpine/latest-stable/community
http://dl-cdn.alpinelinux.org/alpine/edge/community
http://dl-cdn.alpinelinux.org/alpine/edge/main
http://sjc.edge.kernel.org/alpine/edge/main
http://sjc.edge.kernel.org/alpine/edge/community
■ ( root ) 시스템 업데이트
apk update
apk upgrade
■ ( root ) 도커 설치 ( 3개는 자주 사용하므로 같이 설치 )
apk add docker docker-compose curl
■ ( root ) 처음 도커를 설치한경우에는 서버모드로 실행 안됨
docker version
Client:
Version: 19.03.12
API version: 1.40
Go version: go1.13.14
Git commit: 48a66213fe1747e8873f849862ff3fb981899fc6
Built: Fri Jul 24 11:43:16 2020
OS/Arch: linux/amd64
Experimental: false
Cannot connect to the Docker daemon at unix:///var/run/docker/sock. Is the docker daemon running?
■ ( root ) 도커 서버를 항상 실행모드로 만들기
rc-update add docker
# rc-update add docker
- 기본 런레벨(default)에 도커 서비스를 추가
- 일반적인 시스템 서비스들이 시작된 후 도커가 시작됨
- 네트워크와 같은 기본 서비스들이 준비된 후 실행
# rc-update add docker boot
- boot 런레벨에 도커 서비스를 추가
- 다른 서비스들보다 먼저 실행될 수 있음
# (추천) rc-update add docker
- 시스템 서비스들이 적절한 순서로 초기화된 후 도커가 시작됨
- 의존성 문제를 피할 수 있음
- 더 안정적인 도커 서비스 실행이 가능
* service docker added to runlevel default
■ rc_update 가 없다고 나온다면?
# alpine 도커 기본 이미지에서는 서비스가 없을수도 있음
-ash: rc_update: not found
# openrc 서비스가 있는지 확인하기
apk list openrc
# 서비스가 설치되어있다면 다음과 같이 나타난다
openrc-0.42.1-r11 x86_64 {openrc} (BSD-2-Clause)
openrc-0.42.1-r15 x86_64 {openrc} (BSD-2-Clause)
# 서비스가 없다면 설치한다
apk add openrc
■ ( root ) 리부팅
reboot
■ ( user ) Docker 버전 확인
docker --version
Docker version 27.4.1, build b9d17eaebb55b7652ce37ae5c7c52fcb34194956
■ ( user ) Docker Compose 버전 확인
docker-compose --version
Docker Compose version v2.32.1
■ ( user ) 다시 도커 버젼 확인
docker version
Client:
Version: 27.4.1
API version: 1.47
Go version: go1.23.4
Git commit: b9d17eaebb55b7652ce37ae5c7c52fcb34194956
Built: Thu Dec 19 04:42:06 2024
OS/Arch: linux/amd64
Context: default
permission denied while trying to connect to the Docker daemon socket
at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/version":
dial unix /var/run/docker.sock: connect: permission denied
■ ( root ) 다시 도커 버젼 확인
docker version
Client:
Version: 27.4.1
API version: 1.47
Go version: go1.23.4
Git commit: b9d17eaebb55b7652ce37ae5c7c52fcb34194956
Built: Thu Dec 19 04:42:06 2024
OS/Arch: linux/amd64
Context: default
Server:
Engine:
Version: 27.4.1
API version: 1.47 (minimum version 1.24)
Go version: go1.23.4
Git commit: c710b88579fcb5e0d53f96dcae976d79323b9166
Built: Thu Dec 19 04:42:06 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v2.0.1
GitCommit: 88aa2f531d6c2922003cc7929e51daf1c14caa0a
runc:
Version: 1.2.3
GitCommit: 0d37cfd4b557771e555a184d5a78d0ed4bdb79a5
docker-init:
Version: 0.19.0
GitCommit: