mirror of
https://github.com/containers/podman.git
synced 2025-05-17 23:26:08 +08:00
quadlet: Add a network requirement on .image units
If a container unit starts on boot with a dependency on `default.target` the image unit may start too soon, before network is ready. This cause the unit to fail to pull the image. - Add a dependency on `network-online.target` to make sure image pulls don't fail. See https://github.com/containers/podman/issues/21873 - Document the hardcoded dependency on `network-online.target` for images unit and explain how it can be overriden if necessary. - tests/e2e/quadlet: Add `assert-last-key-regex` Required to test the `After=` override in [Unit] section See https://github.com/containers/podman/pull/22057#issuecomment-2008959993 - quadlet/unitfile: add a prepenUnitLine method Requirements on networks should be inserted at the top of the section so the user can override them. Signed-off-by: jbtrystram <jbtrystram@redhat.com>
This commit is contained in:
@ -1333,6 +1333,11 @@ exists on the host, pulling it if needed.
|
||||
Using image units allows containers and volumes to depend on images being automatically pulled. This is
|
||||
particularly interesting when using special options to control image pulls.
|
||||
|
||||
Note: The generated service have a dependency on `network-online.target` assuring the network is reachable if
|
||||
an image needs to be pulled.
|
||||
If the image service needs to run without available network (e.g. early in boot), the requirement can be
|
||||
overriden simply by adding an empty `After=` in the unit file. This will unset all previously set After's.
|
||||
|
||||
Valid options for `[Image]` are listed below:
|
||||
|
||||
| **[Image] options** | **podman image pull equivalent** |
|
||||
|
Reference in New Issue
Block a user