Cleanup markdownlint issues

pull/75/head
Eric Nemchik 2023-01-07 12:03:04 -06:00
rodzic d2e6a79e95
commit ef98461086
13 zmienionych plików z 145 dodań i 139 usunięć

142
FAQ.md
Wyświetl plik

@ -6,69 +6,69 @@ Here will some Frequently Asked Questions reside
Some x86_64 hosts running older versions of the Docker engine are not compatible with some images based on Ubuntu Jammy.
### Symptoms
- Symptoms
If your host is affected you may see errors in your containers such as:
If your host is affected you may see errors in your containers such as:
```shell
ERROR - Unable to determine java version; make sure Java is installed and callable
```
```shell
ERROR - Unable to determine java version; make sure Java is installed and callable
```
Or
Or
```shell
Failed to create CoreCLR, HRESULT: 0x80070008
```
```shell
Failed to create CoreCLR, HRESULT: 0x80070008
```
Or
Or
```shell
WARNING :: MAIN : webStart.py:initialize:249 : can't start new thread
```
```shell
WARNING :: MAIN : webStart.py:initialize:249 : can't start new thread
```
### Resolution
- Resolution
#### Option 1 (Long-Term Fix)
- Option 1 (Long-Term Fix)
Upgrade your Docker engine install to at least version `20.10.10`. [Refer to the official Docker docs for installation/update details.](https://docs.docker.com/engine/install)
Upgrade your Docker engine install to at least version `20.10.10`. [Refer to the official Docker docs for installation/update details.](https://docs.docker.com/engine/install)
#### Option 2 (Short-Term Fix)
- Option 2 (Short-Term Fix)
For Docker CLI, run your container with:
For Docker CLI, run your container with:
`--security-opt seccomp=unconfined`
`--security-opt seccomp=unconfined`
For Docker Compose, run your container with:
For Docker Compose, run your container with:
```yaml
security_opt:
- seccomp=unconfined
```
```yaml
security_opt:
- seccomp=unconfined
```
## My host is incompatible with images based on rdesktop {#rdesktop}
Some x86_64 hosts have issues running rdesktop based images even with the latest docker version due to syscalls that are unknown to docker.
Some x86_64 hosts have issues running rdesktop based images even with the latest docker version due to syscalls that are unknown to docker.
### Symptoms
- Symptoms
If your host is affected you may see errors in your containers such as:
If your host is affected you may see errors in your containers such as:
```shell
Failed to close file descriptor for child process (Operation not permitted)
```
```shell
Failed to close file descriptor for child process (Operation not permitted)
```
### Resolution
- Resolution
For Docker CLI, run your container with:
For Docker CLI, run your container with:
`--security-opt seccomp=unconfined`
`--security-opt seccomp=unconfined`
For Docker Compose, run your container with:
For Docker Compose, run your container with:
```yaml
security_opt:
- seccomp=unconfined
```
```yaml
security_opt:
- seccomp=unconfined
```
## My host is incompatible with images based on Ubuntu Focal and Alpine 3.13 and later {#libseccomp}
@ -80,54 +80,54 @@ This is due to a bug in the libseccomp2 library (dependency of Docker itself), w
You have a few options as noted below. Options 1 is short-term, while option 2 is considered the best option if you don't plan to reinstall the device (option 3).
### Resolution
- Resolution
If you decide to do option 1 or 2, you should just need to restart the container after confirming you have libseccomp2.4.4 installed.
If you decide to do option 1 or 2, you should just need to restart the container after confirming you have libseccomp2.4.4 installed.
If 1 or 2 did not work, ensure your Docker install is at least version 20.10.0, [refer to the official Docker docs for installation.](https://docs.docker.com/engine/install/debian/)
If 1 or 2 did not work, ensure your Docker install is at least version 20.10.0, [refer to the official Docker docs for installation.](https://docs.docker.com/engine/install/debian/)
#### Option 1
- Option 1
Manually install an updated version of the library with dpkg.
Manually install an updated version of the library with dpkg.
```bash
wget http://ftp.us.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.4.4-1~bpo10+1_armhf.deb
sudo dpkg -i libseccomp2_2.4.4-1~bpo10+1_armhf.deb
```
```shell
wget http://ftp.us.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.4.4-1~bpo10+1_armhf.deb
sudo dpkg -i libseccomp2_2.4.4-1~bpo10+1_armhf.deb
```
{% hint style="info" %}
This url may have been updated. Find the latest by browsing [here](http://ftp.us.debian.org/debian/pool/main/libs/libseccomp/).
{% endhint %}
{% hint style="info" %}
This url may have been updated. Find the latest by browsing [here](http://ftp.us.debian.org/debian/pool/main/libs/libseccomp/).
{% endhint %}
#### Option 2
- Option 2
Add the backports repo for DebianBuster. As seen [here](https://github.com/linuxserver/docker-jellyfin/issues/71#issuecomment-733621693).
Add the backports repo for DebianBuster. As seen [here](https://github.com/linuxserver/docker-jellyfin/issues/71#issuecomment-733621693).
```bash
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC 648ACFD622F3D138
echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee -a /etc/apt/sources.list.d/buster-backports.list
sudo apt update
sudo apt install -t buster-backports libseccomp2
```
```shell
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC 648ACFD622F3D138
echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee -a /etc/apt/sources.list.d/buster-backports.list
sudo apt update
sudo apt install -t buster-backports libseccomp2
```
#### Option 3
- Option 3
Reinstall/update your OS to a version that still gets updates.
Reinstall/update your OS to a version that still gets updates.
* Any distro based on DebianStretch does not seem to have this package available
* DebianBuster based distros can get the package trough backports, as outlined in point 2.
- Any distro based on DebianStretch does not seem to have this package available
- DebianBuster based distros can get the package trough backports, as outlined in point 2.
{% hint style="info" %}
RaspberryPI OS (formerly Raspbian) Can be upgraded to run with a 64bit kernel
{% endhint %}
{% hint style="info" %}
RaspberryPI OS (formerly Raspbian) Can be upgraded to run with a 64bit kernel
{% endhint %}
### Symptoms
- Symptoms
* 502 errors in __Jellyfin__ as seen in [linuxserver/docker-jellyfin#71](https://github.com/linuxserver/docker-jellyfin/issues/71)
* `Error starting framework core` messages in the docker log for __Plex__. [linuxserver/docker-plex#247](https://github.com/linuxserver/docker-plex/issues/247)
* No WebUI for __Radarr__, even though the container is running. [linuxserver/docker-radarr#118](https://github.com/linuxserver/docker-radarr/issues/118)
* Images based on our Nginx base-image(Nextcloud, SWAG, Nginx, etc.) fails to generate a certificate, with a message similar to `error getting time:crypto/asn1/a_time.c:330`
* `docker exec <container-name> date` returns 1970
- 502 errors in __Jellyfin__ as seen in [linuxserver/docker-jellyfin#71](https://github.com/linuxserver/docker-jellyfin/issues/71)
- `Error starting framework core` messages in the docker log for __Plex__. [linuxserver/docker-plex#247](https://github.com/linuxserver/docker-plex/issues/247)
- No WebUI for __Radarr__, even though the container is running. [linuxserver/docker-radarr#118](https://github.com/linuxserver/docker-radarr/issues/118)
- Images based on our Nginx base-image(Nextcloud, SWAG, Nginx, etc.) fails to generate a certificate, with a message similar to `error getting time:crypto/asn1/a_time.c:330`
- `docker exec <container-name> date` returns 1970
## I want to reverse proxy a application which defaults to https with a selfsigned certificate {#strict-proxy}

Wyświetl plik

@ -12,4 +12,3 @@ The team resides primarily in our Discord server. We also have a forum if chat i
| Forum | [https://discourse.linuxserver.io](https://discourse.linuxserver.io) |
For those interested in our CI environment via Jenkins: [https://ci.linuxserver.io/](https://ci.linuxserver.io/)

Wyświetl plik

@ -4,11 +4,12 @@
* Created 2021-08-18
* Updated 2021-08-18
## Charter
We will at all times attempt to keep a surplus of $6,000 in the bank account, or an amount which covers 3 years of expenses, whichever is higher. All other money will be disbursed by agreement of a general consensus of linuxserver.io staff members.
## Annual Expenses
* DigitalOcean yearly costs (currently paid for) **$1200**
* AWS **~$200**
* Contabo hosting **$287.76**
@ -18,9 +19,11 @@ We will at all times attempt to keep a surplus of $6,000 in the bank account, or
* Various licenses **~$150**
## Votes
In order for money to be approved for a project, the requesting member must go through every effort to bring to vote a fully formed idea that is ready to be actioned. This means that all the legwork is done before bringing an idea to vote, or at least as much as is reasonably possible. A vote will last for 3 days in order to give all team members the opportunity to participate without unnecessarily causing delays. A generasl consensus will need to be reached in order for it to proceed.
## Acceptable uses of money
* Hardware/Software needed to help the group reach a specific goal
* Stationary + Related items for possible Conventions
* Convention Fees (Both Attendence and Travel)
@ -30,4 +33,5 @@ In order for money to be approved for a project, the requesting member must go t
* Donations to upstream projects
## Links
* [https://opencollective.com/linuxserver#category-BUDGET](https://opencollective.com/linuxserver#category-BUDGET)

Wyświetl plik

@ -337,4 +337,3 @@
| [hedgedoc](https://github.com/linuxserver/docker-hedgedoc/) | [HedgeDoc](https://hedgedoc.org/) gives you access to all your files wherever you are. |
| [raneto](https://github.com/linuxserver/docker-raneto/) | [raneto](http://raneto.com/) - is an open source Knowledgebase platform that uses static Markdown files to power your Knowledgebase. |
| [wikijs](https://github.com/linuxserver/docker-wikijs/) | [wikijs](https://github.com/Requarks/wiki) A modern, lightweight and powerful wiki app built on NodeJS. |

Wyświetl plik

@ -34,7 +34,7 @@ if using compose. Where possible, to improve security, we recommend mounting the
One example use case is our Piwigo container has a plugin that supports video, but requires ffmpeg to be installed. No problem. Add this bad boy into a script file (can be named anything) and you're good to go.
```bash
```shell
#!/bin/bash
echo "**** installing ffmpeg ****"
@ -59,7 +59,7 @@ if using compose. Where possible, to improve security, we recommend mounting the
Running cron in our containers is now as simple as a single file. Drop this script in `/custom-services.d/cron` and it will run automatically in the container:
```bash
```shell
#!/usr/bin/with-contenv bash
/usr/sbin/crond -f -S -l 0 -c /etc/crontabs
@ -83,7 +83,7 @@ This allows community members to publish a relatively static pile of logic that
An example of how this logic can be used to greatly expand the functionality of our base containers would be to add VPN support to a Transmission container:
```
```shell
docker create \
--name=transmission \
--cap-add=NET_ADMIN \

Wyświetl plik

@ -6,7 +6,7 @@ You may find at some point you need to view the internal data of a container.
Particularly useful when debugging the application - to shell in to one of our containers, run the following:
```bash
```shell
docker exec -it <container_name> /bin/bash
```
@ -14,7 +14,7 @@ docker exec -it <container_name> /bin/bash
The vast majority of our images are configured to output the application logs to the console, which in Docker's terms means you can access them using the `docker logs` command:
```bash
```shell
docker logs -f --tail=<number_of_lines_to_start_with> <container_name>
```
@ -22,7 +22,7 @@ The `--tail` argument is optional, but useful if the application has been runnin
To make life simpler for yourself here's a handy bash alias to do some of the leg work for you:
```bash
```shell
# ~/.bash_aliases
alias dtail='docker logs -tf --tail="50" "$@"'
```
@ -35,13 +35,12 @@ If you are experiencing issues with one of our containers, it helps us to know w
To obtain the build version for the container:
```bash
```shell
docker inspect -f '{{ index .Config.Labels "build_version" }}' <container_name>
```
Or the image:
```bash
```shell
docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/<image_name>
```

Wyświetl plik

@ -6,7 +6,7 @@ A container bundles all the libraries required by an application to run, you no
To get started, not much. You will need to know about some of the terminology or concepts when performing more advanced tasks or troubleshooting but getting started couldn't be much simpler.
```bash
```shell
docker run hello-world
```
@ -28,11 +28,10 @@ Containers are completely sandboxed environments by the Linux kernel. It may hel
By default a running container has absolutely no context of the world around it. Out the box you cannot connect from the outside world to the running webservers on ports 80 and 443 below. To allow entry to the sandbox from the outside world we must explicitly allow entry using the `-p` flag.
```bash
```shell
docker run -d --name=letsencrypt -p 80:80 -p 443:443 linuxserver/letsencrypt
```
Take this concept and multiply it across all aspects of a running application. Ports, volumes \(i.e. the files you want to be available inside the container from outside the container\), environment variables and so on. For us as developers this allows us to isolate your system from troubleshooting as the box the container is running in \(the container\) is identical to the next.
Containers are an amazing way to run applications in a secure, sandboxed way.

Wyświetl plik

@ -2,46 +2,55 @@
## Intro
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your applications services. Then, with a single command, you create and start all the services from your configuration.
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your applications services. Then, with a single command, you create and start all the services from your configuration.
Note that when inputting data for variables, you must follow standard YAML rules. In the case of passwords with special characters this can mean escaping them properly ($ is the escape character) or properly quoting the variable. The best course of action if you do not know how to do this or are unwilling to research, is to stick to alphanumeric characters only.
Note that when inputting data for variables, you must follow standard YAML rules. In the case of passwords with special characters this can mean escaping them properly ($ is the escape character) or properly quoting the variable. The best course of action if you do not know how to do this or are unwilling to research, is to stick to alphanumeric characters only.
## Installation
### Install Option 1 (recommended):
Starting with version 2, Docker started publishing `docker compose` as a go based plugin for docker (rather than a python based standalone binary). And they also publish this plugin for various arches, including x86_64, armhf and aarch64 (as opposed to the x86_64 only binaries for v1.X). Therefore we updated our recommended install option to utilize the plugin.
- Install Option 1 (recommended)
You can install `docker compose` via the following commands:
```
ARCH=$(uname -m) && [[ "${ARCH}" == "armv7l" ]] && ARCH="armv7"
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -SL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-${ARCH}" -o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
```
Starting with version 2, Docker started publishing `docker compose` as a go based plugin for docker (rather than a python based standalone binary). And they also publish this plugin for various arches, including x86_64, armhf and aarch64 (as opposed to the x86_64 only binaries for v1.X). Therefore we updated our recommended install option to utilize the plugin.
Assuming you already have docker (or at the very least docker-cli) installed, preferably from the official docker repos, running `docker compose version` should display the compose version.
You can install `docker compose` via the following commands:
If you don't have docker installed yet, we recommend installing it via the following commands:
```
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
```
```shell
ARCH=$(uname -m) && [[ "${ARCH}" == "armv7l" ]] && ARCH="armv7"
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -SL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-${ARCH}" -o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
```
#### v1.X compatibility:
As v2 runs as a plugin instead of a standalone binary, it is invoked by `docker compose args` instead of `docker-compose args`. There are also some slight differences in how the yaml is operated as well. To make migration easier, Docker released a replacement binary for `docker-compose` on x86_64 and aarch64 platforms. More info on that can be found at the [upstream repo](https://github.com/docker/compose-switch).
Assuming you already have docker (or at the very least docker-cli) installed, preferably from the official docker repos, running `docker compose version` should display the compose version.
### Install Option 2:
You can install docker-compose using our [docker-compose image](https://github.com/linuxserver/docker-docker-compose) via a run script. You can simply run the following commands on your system and you should have a functional install that you can call from anywhere as `docker-compose`:
```
sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/v2/run.sh -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
```
In order to update the local image, you can run the following commands:
```
docker pull linuxserver/docker-compose:"${DOCKER_COMPOSE_IMAGE_TAG:-v2}"
docker image prune -f
```
The above commands will use the v2 images (although invoked by`docker-compose` instead of `docker compose`). If you'd like to use v1 images, you can set an env var `DOCKER_COMPOSE_IMAGE_TAG=alpine`, `DOCKER_COMPOSE_IMAGE_TAG=ubuntu` in your respective `.profile`. Alternatively you can set that var to a versioned image tag like `v2-2.4.1-r1` or `version-alpine-1.27.4` to pin it to a specific docker-compose version.
If you don't have docker installed yet, we recommend installing it via the following commands:
```shell
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
```
- v1.X compatibility
As v2 runs as a plugin instead of a standalone binary, it is invoked by `docker compose args` instead of `docker-compose args`. There are also some slight differences in how the yaml is operated as well. To make migration easier, Docker released a replacement binary for `docker-compose` on x86_64 and aarch64 platforms. More info on that can be found at the [upstream repo](https://github.com/docker/compose-switch).
- Install Option 2
You can install docker-compose using our [docker-compose image](https://github.com/linuxserver/docker-docker-compose) via a run script. You can simply run the following commands on your system and you should have a functional install that you can call from anywhere as `docker-compose`:
```shell
sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/v2/run.sh -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
```
In order to update the local image, you can run the following commands:
```shell
docker pull linuxserver/docker-compose:"${DOCKER_COMPOSE_IMAGE_TAG:-v2}"
docker image prune -f
```
The above commands will use the v2 images (although invoked by`docker-compose` instead of `docker compose`). If you'd like to use v1 images, you can set an env var `DOCKER_COMPOSE_IMAGE_TAG=alpine`, `DOCKER_COMPOSE_IMAGE_TAG=ubuntu` in your respective `.profile`. Alternatively you can set that var to a versioned image tag like `v2-2.4.1-r1` or `version-alpine-1.27.4` to pin it to a specific docker-compose version.
## Single service Usage
@ -143,33 +152,34 @@ If your compose yaml makes use of `.env`, please post an output of `docker compo
Create or open the file `~/.bash_aliases` and populate with the following content:
```bash
```shell
alias dcup='docker compose -f /opt/docker-compose.yml up -d' #brings up all containers if one is not defined after dcup
alias dcdown='docker compose -f /opt/docker-compose.yml stop' #brings down all containers if one is not defined after dcdown
alias dcpull='docker compose -f /opt/docker-compose.yml pull' #pulls all new images is specified after dcpull
alias dclogs='docker compose -f /opt/docker-compose.yml logs -tf --tail="50" '
alias dtail='docker logs -tf --tail="50" "$@"'
```
If the `docker-compose.yml` file is in a home directory, the following can be put in the `~/.bash_aliases` file.
```
```shell
alias dcup='docker-compose -f ~/docker-compose.yml up -d' #brings up all containers if one is not defined after dcup
alias dcdown='docker-compose -f ~/docker-compose.yml stop' #brings down all containers if one is not defined after dcdown
alias dcpull='docker-compose -f ~/docker-compose.yml pull' #pulls all new images unless one is specified
alias dclogs='docker-compose -f ~/docker-compose.yml logs -tf --tail="50" '
alias dtail='docker logs -tf --tail="50" "$@"'
```
There are multiple ways to see the logs of your containers. In some instances, using `docker logs` is preferable to `docker compose logs`. By default `docker logs` will not run unless you define which service the logs are coming from. The `docker compose logs` will pull all of the logs for the services defined in the `docker-compose.yml` file.
There are multiple ways to see the logs of your containers. In some instances, using `docker logs` is preferable to `docker compose logs`. By default `docker logs` will not run unless you define which service the logs are coming from. The `docker compose logs` will pull all of the logs for the services defined in the `docker-compose.yml` file.
When asking for help, you should post your logs or be ready to provide logs if someone requests it. If you are running multiple containers in your `docker-compose.yml` file, it is not helpful to submit **all** of the logs. If you are experiencing issues with a single service, say Heimdall, then you would want to get your logs using `docker logs heimdall` or `docker compose logs heimdall`. The bash_alias for `dclogs` can be used if you define your service after you've typed the alias. Likewise, the bash_alias `detail` will not run without defining the service after it.
Some distributions, like Ubuntu, already have the code snippet below in the `~/.bashrc` file. If it is not included, you'll need to add the following to your `~/.bashrc` file in order for the aliases file to be picked up:
```bash
```shell
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
```
Once configured, you can run `source ~/.bashrc` or log out and the log in again. Now you can type `dcpull` or `dcup` to manage your entire fleet of containers at once. It's like magic.

Wyświetl plik

@ -102,6 +102,7 @@ All synchronized repositories and images returned.
}
}
```
{% endapi-method-response-example %}
{% endapi-method-response %}
{% endapi-method-spec %}
@ -135,7 +136,7 @@ The username and password that you define must then be provided as part of Fleet
All primary configuration for Fleet at runtime is loaded in via a `fleet.properties` file. This can be located anywhere on the file system, and is loaded in via a Runtime argument:
```bash
```shell
# Runtime
fleet.app.port=8080
@ -190,4 +191,3 @@ When starting Fleet for the first time it will create a default user in order fo
{% hint style="warning" %}
You should change the default password for this user as soon as possible! This can be done via the `Admin` -&gt; `Users` menu options.
{% endhint %}

Wyświetl plik

@ -19,7 +19,7 @@ We do this because we believe that it makes it easier to answer the common quest
To create a container from one of our images, you must use either `docker create` or `docker run`. Each image follows the same pattern in the command when creating a container:
```bash
```shell
docker create \
--name=<container_name> \
-v <path_to_data>:/config \
@ -28,4 +28,3 @@ docker create \
-p <host_port>:<app_port> \
linuxserver/<image_name>
```

Wyświetl plik

@ -16,7 +16,7 @@ Using the `PUID` and `PGID` allows our containers to map the container's interna
When creating a container from one of our images, ensure you use the `-e PUID` and `-e PGID` options in your docker command:
```bash
```shell
docker create --name=beets -e PUID=1000 -e PGID=1000 linuxserver/beets
```
@ -30,7 +30,6 @@ environment:
It is most likely that you will use the `id` of yourself, which can be obtained by running the command below. The two values you will be interested in are the `uid` and `gid`.
```bash
```shell
id $user
```

Wyświetl plik

@ -10,7 +10,7 @@ Docker containers are, for the most part, immutable. This means that important c
Firstly, stop the container.
```bash
```shell
docker stop <container_name>
```
@ -20,7 +20,7 @@ Once the container has been stopped, remove it.
> **Important**: Did you remember to persist the `/config` volume when you originally created the container? Bear in mind, you'll lose any configuration inside the container if this volume was not persisted. [Read up on why this is important](volumes.md).
```bash
```shell
docker rm <container_name>
```
@ -28,7 +28,7 @@ docker rm <container_name>
Now you can pull the latest version of the application image from Docker Hub.
```bash
```shell
docker pull linuxserver/<image_name>
```
@ -36,7 +36,7 @@ docker pull linuxserver/<image_name>
Finally, you can recreate the container. This is often cited as the most arduous task as it requires you to remember all of the mappings you set beforehand. You can help mitigate this step by using Docker Compose instead - this topic has been [outlined in our documentation](docker-compose.md).
```bash
```shell
docker create \
--name=<container_name> \
-v <path_to_data>:/config \
@ -50,14 +50,14 @@ docker create \
It is also possible to update a single container using Docker Compose:
```bash
```shell
docker-compose pull linuxserver/<image_name>
docker-compose up -d <container_name>
```
Or, to update all containers at once:
```bash
```shell
docker-compose pull
docker-compose up -d
```
@ -66,7 +66,6 @@ docker-compose up -d
Whenever a Docker image is updated, a fresh version of that image gets downloaded and stored on your host machine. Doing this, however, does not remove the _old_ version of the image. Eventually you will end up with a lot of disk space used up by stale images. You can `prune` old images from your system, which will free up space:
```bash
```shell
docker image prune
```

Wyświetl plik

@ -23,4 +23,3 @@ The above example shows how the usage of `-v` has mapped the host machine's `/op
> **Remember**: When dealing with mapping overlays, it always reads `host:container`
You can do this for as many directories as required by either you or the container itself. Our rule-of-thumb is to _always_ map the `/config` directory as this contains pertinent runtime configuration for the underlying application. For applications that require further data, such as media, our documentation will clearly indicate which internal directories need mapping.