>  기사  >  운영 및 유지보수  >  Docker는 부팅하지 않고 자동으로 시작됩니다.

Docker는 부팅하지 않고 자동으로 시작됩니다.

PHPz
PHPz원래의
2023-05-13 13:05:07684검색

Docker는 현재 가장 널리 사용되는 컨테이너화 소프트웨어 중 하나이며, 이를 통해 개발자는 더욱 편리하게 애플리케이션을 만들고 실행할 수 있습니다. 그러나 때로는 문제가 발생할 수 있습니다. 컴퓨터를 시작한 후 Docker가 자동으로 시작되지 않습니다. Docker가 자동으로 시작되도록 하려면 설정 방법을 살펴보겠습니다.

  1. 사전 조건

설정하기 전에 먼저 Docker에 systemd 및 daemon.json 파일이 설치되어 있는지 확인해야 합니다. Docker가 부팅 시 자동으로 시작되는 데 도움이 되므로 두 파일 모두 필요합니다.

시스템에 설치되어 있지 않은 경우 다음 명령을 사용하여 설치할 수 있습니다.

sudo apt-get update
sudo apt-get install systemd
  1. daemon.json 파일 편집

Docker 지원 시스템에서는 /etc/docker/daemon을 편집해야 합니다. .json 파일 . 파일이 없으면 다음 명령을 사용하여 파일을 생성할 수 있습니다.

sudo nano /etc/docker/daemon.json

그런 다음 파일에 다음 코드를 추가합니다.

{
    "default-address-pools":
    [
        {"base":"172.0.0.0/8","size":16},
        {"base":"192.168.0.0/16","size":24}
    ],
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "10m",
        "max-file": "3"
    }
}

이 코드 조각에는 일부 Docker 구성 정보가 포함되어 있습니다. 또한 Docker 컨테이너에 IP 주소를 할당하는 데 사용되는 기본 주소 풀도 포함되어 있습니다. 필요에 따라 수정할 수 있습니다.

  1. 시스템 파일 추가

다음으로 docker.service라는 시스템 파일을 생성하고 /etc/systemd/system/ 디렉터리에 추가해야 합니다.

다음 명령을 사용하여 새 파일을 만듭니다.

sudo nano /etc/systemd/system/docker.service

파일에 다음 코드를 추가합니다.

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target sshd.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
EnvironmentFile=-/run/flannel/docker
Restart=always
RestartSec=3
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity

[Install]
WantedBy=multi-user.target

이 파일은 시스템에 Docker를 시작하고 다음과 같이 일부 옵션을 구성하는 방법을 알려줍니다.

  • 설명: 파일의 이름 service
  • Documentation: Docker 공식 문서 링크
  • After: 서비스 시작 시 시작해야 하는 기타 서비스 목록
  • Wants: 나열된 일부 서비스가 로드된 후 지연 후 서비스가 시작됩니다.
  • Type : 서비스 유형
  • ExecStart : 서비스 시작 명령
  • ExecReload: 서비스 다시 로드 명령
  • EnvironmentFile: 환경 변수 파일 로딩 경로
  • Restart: 서비스를 다시 시작하는 방법
  • RestartSec: 서비스를 다시 시작하는 간격
  • LimitNOFILE: 프로세스가 열 수 있는 파일 설명자 수 상한
  • LimitNPROC: 프로세스가 생성할 수 있는 스레드 수의 상한
  • LimitCORE: 프로세스가 사용할 수 있는 최대 메모리 제한
  1. 시스템 다시 로드

systemd 파일을 /etc/systemd/system/ 디렉터리에 추가한 후 구성을 적용하려면 systemd 프로세스를 다시 로드해야 합니다. 다음 명령을 사용하여 systemd를 다시 로드할 수 있습니다.

sudo systemctl daemon-reload
  1. Enable systemd

다음 단계는 Docker 서비스가 자동으로 시작되도록 활성화하는 것입니다. 다음 명령을 사용하여 systemd를 활성화할 수 있습니다.

sudo systemctl enable docker.service

이 명령은 부팅 시 Docker를 자동으로 시작합니다.

마지막으로

이제 시스템 시작 시 Docker 서비스를 자동으로 시작하는 방법을 배웠습니다. 다른 Docker 문제가 발생하는 경우 공식 Docker 설명서를 참조하거나 커뮤니티에 도움을 요청할 수 있습니다.

위 내용은 Docker는 부팅하지 않고 자동으로 시작됩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.