Update index.adoc
This commit is contained in:
parent
40394f4822
commit
3171cf1c21
1 changed files with 19 additions and 13 deletions
|
@ -61,11 +61,18 @@ Add this module to your NixOS configuration:
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.arion
|
pkgs.arion
|
||||||
pkgs.docker # docker CLI will use podman socket
|
|
||||||
|
# Do install the docker CLI to talk to podman.
|
||||||
|
# Not needed when virtualisation.docker.enable = true;
|
||||||
|
pkgs.docker-client
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Arion works with Docker, but for NixOS-based containers, you need Podman
|
||||||
|
# since NixOS 21.05.
|
||||||
virtualisation.docker.enable = false;
|
virtualisation.docker.enable = false;
|
||||||
virtualisation.podman.enable = true;
|
virtualisation.podman.enable = true;
|
||||||
virtualisation.podman.dockerSocket.enable = true;
|
virtualisation.podman.dockerSocket.enable = true;
|
||||||
|
virtualisation.podman.defaultNetwork.dnsname.enable = true;
|
||||||
|
|
||||||
# Use your username instead of `myuser`
|
# Use your username instead of `myuser`
|
||||||
users.extraUsers.myuser.extraGroups = ["podman"];
|
users.extraUsers.myuser.extraGroups = ["podman"];
|
||||||
|
@ -125,8 +132,6 @@ Describe containers using NixOS-style modules. There are a few options:
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
==== NixOS: run only one systemd service
|
==== NixOS: run only one systemd service
|
||||||
|
@ -134,7 +139,6 @@ Describe containers using NixOS-style modules. There are a few options:
|
||||||
`examples/nixos-unit/arion-compose.nix`:
|
`examples/nixos-unit/arion-compose.nix`:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
|
|
||||||
{
|
{
|
||||||
services.webserver = { config, pkgs, ... }: {
|
services.webserver = { config, pkgs, ... }: {
|
||||||
|
|
||||||
|
@ -157,7 +161,6 @@ Describe containers using NixOS-style modules. There are a few options:
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
==== NixOS: run full OS
|
==== NixOS: run full OS
|
||||||
|
@ -220,10 +223,10 @@ development environments while working on
|
||||||
https://www.hercules-ci.com[Hercules CI]. (It was also born out of
|
https://www.hercules-ci.com[Hercules CI]. (It was also born out of
|
||||||
ancient Greek deities disguised as horses. More on that later.)
|
ancient Greek deities disguised as horses. More on that later.)
|
||||||
|
|
||||||
If you do want to use Arion for production environments, you’ll probably
|
Arion can be used for simple single host deployments, using Docker's TLS
|
||||||
want to either build normal container images or manage garbage
|
client verification, or https://search.nixos.org/options?channel=unstable&show=virtualisation.podman.networkSocket.enable&query=virtualisation.podman[`virtualisation.podman.networkSocket` options].
|
||||||
collection roots if you control the deployment host. Neither scenario is
|
Remote deployments do not support `useHostStore`, although an SSH-based deployment method could support this.
|
||||||
made easier by arion at this time.
|
Docker Swarm is not currently supported.
|
||||||
|
|
||||||
Arion has run successfully on Linux distributions other than NixOS, but we only perform CI for Arion on NixOS.
|
Arion has run successfully on Linux distributions other than NixOS, but we only perform CI for Arion on NixOS.
|
||||||
|
|
||||||
|
@ -254,6 +257,8 @@ container.
|
||||||
|
|
||||||
Nope, it’s just Nix and Docker Compose under the hood.
|
Nope, it’s just Nix and Docker Compose under the hood.
|
||||||
|
|
||||||
|
It does xref:hercules-ci-effects:ROOT:reference/nix-functions/runArion.adoc[integrate] nicely though.
|
||||||
|
|
||||||
=== What about garbage collection?
|
=== What about garbage collection?
|
||||||
|
|
||||||
Arion removes the need for garbage collecting docker images, delegating
|
Arion removes the need for garbage collecting docker images, delegating
|
||||||
|
@ -266,8 +271,9 @@ generate images that can be used in production.
|
||||||
|
|
||||||
=== Why is my container not running latest code?
|
=== Why is my container not running latest code?
|
||||||
|
|
||||||
Restart it with `arion restart <name>` or if you've changed the image rebuild
|
Rebuild the image using `arion up -d --always-recreate-deps <name>` or simply `arion up -d`.
|
||||||
them using `arion up -d --always-recreate-deps <name>`.
|
|
||||||
|
Like `docker-compose restart`, `arion restart` does not update the image before starting.
|
||||||
|
|
||||||
=== What is messing with my environment variables?
|
=== What is messing with my environment variables?
|
||||||
|
|
||||||
|
@ -278,11 +284,11 @@ reference a script from `pkgs.writeScript` or escape the dollar sign as
|
||||||
|
|
||||||
=== Why name it ``Arion``?
|
=== Why name it ``Arion``?
|
||||||
|
|
||||||
Arion comes from Greek mythology. Poseidon, the god of ~Docker~ the seas
|
Arion comes from Greek mythology. Poseidon, the god of Docker -- I mean the seas --
|
||||||
had his eye on Demeter. Demeter tried to trick him by disguising as a
|
had his eye on Demeter. Demeter tried to trick him by disguising as a
|
||||||
horse, but Poseidon saw through the deception and they had Arion.
|
horse, but Poseidon saw through the deception and they had Arion.
|
||||||
|
|
||||||
So Arion is a super fast divine horse; the result of some weird mixing.
|
So Arion is a super fast divine horse; the result of some weird mixing.
|
||||||
Also it talks.
|
Also it talks.
|
||||||
|
|
||||||
(And we feel morally obliged to name our stuff after Greek mythology)
|
(And we felt morally obliged to name our stuff after Greek mythology)
|
||||||
|
|
Loading…
Reference in a new issue