docker 서비스가 비활성화되어 있어도 매시간 시작됩니다.

docker 서비스가 비활성화되어 있어도 매시간 시작됩니다.

docker.service가 비활성화되어 있지만 매시간 정시에 시작됩니다. 나는 그것을 중지했고 알 수 없는 이유로 다음 시간에 다시 시작되기 시작했습니다... 그것을 트리거할 크론탭을 찾지 못했습니다.

내 시스템에서 발생한 문제의 예:

[root@c2 ~]# while true;do date;ps -ef|grep docke[r];sleep 5;done
Sun Dec  1 16:59:45 UTC 2019
Sun Dec  1 16:59:50 UTC 2019
Sun Dec  1 16:59:55 UTC 2019
Sun Dec  1 17:00:00 UTC 2019
Sun Dec  1 17:00:05 UTC 2019
root      8930     1  4 17:00 ?        00:00:00 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --init-path=/usr/libexec/docker/docker-init-current --seccomp-profile=/etc/docker/seccomp.json --selinux-enabled --log-driver=journald --signature-verification=false --storage-driver overlay2
root      8935  8930  0 17:00 ?        00:00:00 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc --runtime-args --systemd-cgroup=true
Sun Dec  1 17:00:10 UTC 2019
root      8930     1  2 17:00 ?        00:00:00 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --init-path=/usr/libexec/docker/docker-init-current --seccomp-profile=/etc/docker/seccomp.json --selinux-enabled --log-driver=journald --signature-verification=false --storage-driver overlay2
root      8935  8930  0 17:00 ?        00:00:00 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc --runtime-args --systemd-cgroup=true
^C

그리고 도커 서비스 상태:

[root@c2 spool]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-12-01 17:00:03 UTC; 4min 31s ago
     Docs: http://docs.docker.com
 Main PID: 8930 (dockerd-current)
   CGroup: /system.slice/docker.service
           ├─8930 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/lib...
           └─8935 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd...

답변1

docker패키지에 의해 설치된 서비스는 docker-ce두 개의 단위 파일에 의해 제어됩니다.

[root@docker system]# rpm -ql docker-ce | grep /lib/systemd/system
/usr/lib/systemd/system/docker.service
/usr/lib/systemd/system/docker.socket

상관없어제공하다실행 중인 경우 소켓에 대한 연결을 통해 활성화될 수 있습니다. 즉, 사용자(또는 cron 작업 또는 다른 사람)가 명령을 실행할 때마다 서비스가 아직 실행 중이 아닌 docker경우 docker서비스가 시작되어 서비스.

Docker를 완전히 비활성화하려면 다음을 수행해야 합니다.

systemctl disable --now docker.service docker.socket

를 사용하면 disable --now(a) 서비스 및 소켓 장치가 중지되고 (b) 호스트 재부팅 시 다시 시작되지 않습니다.

답변2

서비스도 중지(및 비활성화)하면 docker 서비스가 더 이상 매시간 시작되지 않습니다 docker-cleanup.timer("systemctl | grep docker" 출력에서 ​​실행되는 것을 볼 수 있음).

  docker-cleanup.timer         loaded active waiting   Run docker-cleanup every hour

centos에서 docker를 시작하면 docker-cleanup.timer가 다시 시작되고 "systemctl stop docker"를 사용하여 docker를 중지하면 중지되지 않습니다. 그러면 다음 시간에 Docker 엔진이 자동으로 다시 시작됩니다.

관련 정보