docker

docker 구성

image

host 구성

패키지 설치

sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo && \
sudo dnf update -y && sudo dnf upgrade -y && \
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && \
sudo systemctl restart docker && \
sudo systemctl enable docker && \
sudo systemctl status docker.service && \
sudo docker run -it --rm busybox nslookup google.com

docker-compose 설치

sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.0/docker compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker compose && \
sudo chmod +x /usr/local/bin/docker compose && \
sudo ln -s /usr/local/bin/docker compose /usr/bin/docker compose && \
sudo docker compose --version

권한 구성

sudo usermod -aG docker dev
cat /etc/group | grep docker
logout

bridge network

관리 편의를 위해 다수의 컨테이너를 bridge로 구성할 것이다

sudo docker network create --driver bridge --gateway 172.18.0.1 --subnet 172.18.0.0/24 dev

docker login

docker login -u e*******;
L***************************************************************

docker 최상위 폴더

컨테이너 log 크기 제한

sudo du -h --max-depth=1 /var/lib/docker | sort -rh
cat << EOF | sudo tee /etc/docker/daemon.json
{
  "log-driver": "local",
  "log-opts": {
    "max-size": "10m"
  }
}
EOF
sudo systemctl restart docker && \
docker info --format '{{.LoggingDriver}}' && \
docker inspect -f '{{.HostConfig.LogConfig.Type}}' $(docker ps --format "{{.Names}}")

디스크 용량 확보

docker container prune -f && \
docker network prune -f && \
docker volume prune -f && \
docker system prune -f && \
docker buildx prune -af && \
docker builder prune -a && \
docker images -a | grep none | awk '{ print $3; }' | xargs docker rmi --force && \
docker rmi $(docker images -q -f dangling=true)
sudo find /var/lib/docker/overlay2/ -type f -name *-json.log && \
sudo truncate -s 0 /var/lib/docker/containers/*/*-json.log

docker log

sudo dockerd --debug

License

상업적 이용 제한 없음

  • docker-engine: Apache v2 1

유료 구독 필요 (exceeding 250 employees OR with annual revenue surpassing $10 million USD)

  • docker-desktop 2

Troubleshooting

References