Prije svega svima bih poželio sretnu i bugfree Novu godinu
Citiraj:
Autor xlr
S tim Trixiem nikako na zelenu granu....
|
Update na ovaj moj zadnji problem... Ukratko, pronašao sam zelenu granu pa ću probati to objasniti u par crtica jer se tiče systemda, a on i ja smo si još uvijek na "Vi". Kod friškog boota VM-a NFS bi se dizao prije nego je valjda odrađen DHCP handshake, NFS mount bi failao i Docker.service bi failao jer nisu ispunjeni neki preduvjeti:
Code:
sudo journalctl -b -u mnt-media.mount -u network-online.target -u remote-fs -u docker -u systemd-networkd-wait-online.service -u systemd-networkd --no-pager
---
Jan 01 11:01:56 docker systemd[1]: Reached target network-online.target - Network is Online.
Jan 01 11:01:57 docker systemd[1]: Mounting mnt-media.mount - /mnt/media...
Jan 01 11:01:57 docker mount[837]: Created symlink '/run/systemd/system/remote-fs.target.wants/rpc-statd.service' → '/usr/lib/systemd/system/rpc-statd.service'.
Jan 01 11:01:57 docker mount[828]: mount.nfs: Network is unreachable for 10.27.20.2:/volume1/media on /mnt/media
Jan 01 11:01:57 docker systemd[1]: mnt-media.mount: Mount process exited, code=exited, status=32/n/a
Jan 01 11:01:57 docker systemd[1]: mnt-media.mount: Failed with result 'exit-code'.
Jan 01 11:01:57 docker systemd[1]: Failed to mount mnt-media.mount - /mnt/media.
Jan 01 11:01:57 docker systemd[1]: Dependency failed for docker.service - Docker Application Container Engine.
Jan 01 11:01:57 docker systemd[1]: docker.service: Job docker.service/start failed with result 'dependency'.
Code:
systemctl --failed
---
UNIT LOAD ACTIVE SUB DESCRIPTION
● mnt-media.mount loaded failed failed /mnt/media
Kao što sam već spomenuo, Docker bi se uredno dizao kada maknem sve iz override.conf. To očito nije radilo kako treba ili sam našao krivi/stari info. Ovo je stari setup:
Code:
sudo nano /etc/systemd/system/docker.service.d/override.conf
---
[Unit]
After=remote-fs.target
RequiresMountsFor=/mnt/media
Riješio sam problem (vjerojatno) na ispravniji način - kreiranjem servisa koji pinga NAS
prije nego se okine "network-online.target". U mom slučaju je 10.27.20.2 IP od NAS-a, ali možete pingati i ruter. Bitno je da ping prođe što bi značilo da je DHCP prošao i host je dobio svoj IP:
Code:
sudo nano /etc/systemd/system/media.service
---
[Unit]
DefaultDependencies=no
After=nss-lookup.target
Before=network-online.target
[Service]
ExecStart=sh -c 'while ! ping -c 1 10.27.20.2; do sleep 1; done'
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=network-online.target
WantedBy=mnt-media.mount
Code:
sudo systemctl start media.service
sudo systemctl enable media.service
sudo systemctl status media.service
---
● media.service
Loaded: loaded (/etc/systemd/system/media.service; disabled; preset: enabled)
Active: active (exited) since Thu 2026-01-01 11:03:56 GMT; 12s ago
Invocation: 415070328ad04171b53742432ead4c2f
Process: 1012 ExecStart=sh -c while ! ping -c 1 10.27.20.2; do sleep 1; done (code=exited, status=0/SUCCESS)
Main PID: 1012 (code=exited, status=0/SUCCESS)
Mem peak: 1.7M
CPU: 6ms
Jan 01 11:03:56 docker systemd[1]: Starting media.service...
Jan 01 11:03:56 docker sh[1013]: PING 10.27.20.2 (10.27.20.2) 56(84) bytes of data.
Jan 01 11:03:56 docker sh[1013]: 64 bytes from 10.27.20.2: icmp_seq=1 ttl=64 time=1.34 ms
Jan 01 11:03:56 docker sh[1013]: --- 10.27.20.2 ping statistics ---
Jan 01 11:03:56 docker sh[1013]: 1 packets transmitted, 1 received, 0% packet loss, time 0ms
Jan 01 11:03:56 docker sh[1013]: rtt min/avg/max/mdev = 1.344/1.344/1.344/0.000 ms
Jan 01 11:03:56 docker systemd[1]: Finished media.service.
I za kraj sam pojednostavio override.conf za docker.service da čeka uspješno mountanje NFS sharea:
Code:
sudo nano /etc/systemd/system/docker.service.d/override.conf
---
[Unit]
Requires=mnt-media.mount
After=mnt-media.mount
Ovako sada izgleda cijeli proces kod bootanja:
Code:
Jan 01 12:29:59 docker sh[364]: ping: connect: Network is unreachable
Jan 01 12:30:00 docker sh[607]: ping: connect: Network is unreachable
Jan 01 12:30:01 docker sh[823]: ping: connect: Network is unreachable
Jan 01 12:30:02 docker sh[838]: ping: connect: Network is unreachable
Jan 01 12:30:03 docker sh[840]: ping: connect: Network is unreachable
Jan 01 12:30:04 docker sh[843]: ping: connect: Network is unreachable
Jan 01 12:30:05 docker sh[845]: ping: connect: Network is unreachable
Jan 01 12:30:06 docker sh[847]: ping: connect: Network is unreachable
Jan 01 12:30:07 docker sh[849]: ping: connect: Network is unreachable
Jan 01 12:30:08 docker sh[851]: ping: connect: Network is unreachable
Jan 01 12:30:09 docker sh[877]: PING 10.27.20.2 (10.27.20.2) 56(84) bytes of data.
Jan 01 12:30:09 docker sh[877]: 64 bytes from 10.27.20.2: icmp_seq=1 ttl=64 time=1.00 ms
Jan 01 12:30:09 docker sh[877]: --- 10.27.20.2 ping statistics ---
Jan 01 12:30:09 docker sh[877]: 1 packets transmitted, 1 received, 0% packet loss, time 0ms
Jan 01 12:30:09 docker sh[877]: rtt min/avg/max/mdev = 1.004/1.004/1.004/0.000 ms
Jan 01 12:30:09 docker systemd[1]: Finished media.service.
Jan 01 12:30:09 docker systemd[1]: Reached target network-online.target - Network is Online.
Jan 01 12:30:09 docker systemd[1]: Mounting mnt-media.mount - /mnt/media...
Jan 01 12:30:12 docker mount[894]: Created symlink '/run/systemd/system/remote-fs.target.wants/rpc-statd.service' → '/usr/lib/systemd/system/rpc-statd.service'.
Jan 01 12:30:18 docker systemd[1]: Mounted mnt-media.mount - /mnt/media.
Jan 01 12:30:18 docker systemd[1]: Starting docker.service - Docker Application Container Engine...
...
Hebeno mi je trebalo vremena da pinpointam problem (bez AI-ja, jer nisam imao pojma što da ga pitam), pa ću s guštom okačiti i source za one 'koji žele znati više':
https://systemd.io/NETWORK_ONLINE/
Tu je bilo još gro reddit/docker forum postova gdje sam naučio bolje koristiti journalctl i što bi trebao pratiti. I pored svega toga još nisam spreman preći na desktop Linux

Mooožda ove godine!