Docker 설치 및 설정
Mac, Windows 주의사항
Docker Desktop 이 조건부 유료가 되었음
맥의 경우 Docker Desktop을 설치를 해도 Appication에서는 Docker라고 나와서 Docker Desktop을 설치하지 않았다고 착각할 수도 있음.
To Uninstall: Docker 프로그램 실행 후 버그모양 아이콘에서 삭제를 하면 됨
Click On Docker Icon
Select Preferences
Select Bug Icon for the Troubleshoot menu (Bomb Icon in older Docker UI)
Select Uninstall
Ubuntu에 docker 설치
아래 문서 참고해 설치하면 됨.
https://docs.docker.com/engine/install/ubuntu/
Set up the repository
Install Docker Engine
sudo apt-get update
sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
grep -q docker /etc/group || sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
#docker run hello-world
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Ubuntu 에 docker 설치하고 후속작업
https://docs.docker.com/engine/install/linux-postinstall/
루트가 아닌 사용자로 Docker 관리 : docker
그룹 을 만들고 사용자를 추가
부팅 시 시작하도록 Docker 구성
Docker 데몬이 연결을 수신하는 위치 구성 : 원격 호스트에서 접속을 허용할 경우 설정하면 됨.
Docker 로깅 드라이브
https://docs.docker.com/config/containers/logging/configure/
기본은 json-file. 이전 버전의 Docker와 Docker가 Kubernetes의 런타임으로 사용되는 상황에서 이전 버전과의 호환성을 유지하기 위해 json 파일 로깅 드라이버(로그 회전 없음)를 기본값으로 유지합니다. 이 경우 로그로테이션을 수행하지 않으므로 디스크 공간이 꽉 차는 것을 방지하려면 local log-driver 사용할 것을 권장하고 있음.
https://docs.docker.com/config/containers/logging/local/
옵션 | 설명 | 예시 값 |
---|---|---|
| 롤링되기 전의 최대 로그 크기입니다. 양의 정수 플러스 측정 단위를 나타내는 수식 ( |
|
| 존재할 수 있는 최대 로그 파일 수입니다. 로그를 롤링하여 초과 파일이 생성되면 가장 오래된 파일이 제거됩니다. 양의 정수입니다. 기본값은 5입니다. |
|
| 회전된 로그 파일의 압축을 토글합니다. 기본적으로 활성화되어 있습니다. |
|
새로 생성된 컨테이너에 변경 사항을 적용하려면 Docker를 다시 시작합니다. 기존 컨테이너는 새 로깅 구성을 사용하지 않습니다. Daemon 기본 설정파일은 /etc/docker/daemon.json
$ cat /etc/docker/daemon.json
{
"log-driver": "local",
"log-opts": {
"max-size": "10m"
}
}
$ sudo systemctl restart docker
$ docker info --format '{{.LoggingDriver}}'
Mac에 Docker 설치
먼저 brew를 사용해 Docker Client를 설치해줍니다. 기존에는 cask를 사용했었지만 현재 deprecated되어 그냥 brew로 설치하면 됩니다.
$ brew install docker
이렇게 하면 Docker Client만 설치된 것이기 때문에 실제 사용 시 서버에 연결할 수 없다는 에러가 발생합니다. Docker 데몬의 경우 Linux 커널의 기능을 사용하기 때문에 MacOS에서는 Client만 가지고 사용할 수 없습니다.
하지만 docker-machine을 통해 VM을 생성하면 연결가능합니다.
VM을 생성해야 하므로 virtualbox가 설치되어있지 않다면 설치해야합니다.
docker-machine 설치 후 docker-machine 을 시작하라는 메시지가 나온다. 메시지대로 따라한다.
둘 다 설치가 됐으면 docker-machine을 생성합니다.
그 다음 환경변수를 설정합니다.
Docker server가 VM으로 실행되고 있으므로 Docker를 통해 서버를 띄울 경우 docker-machine ls로 서버 정보를 확인 후 서버에 접근해야합니다.