You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[](https://blog.linuxserver.io"all the things you can do with our containers including How-To guides, opinions and much more!")
@@ -66,7 +65,7 @@ The architectures supported by this image are:
66
65
67
66
## Usage
68
67
69
-
Here are some example snippets to help you get started creating a container.
68
+
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
70
69
71
70
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
72
71
@@ -103,12 +102,11 @@ docker run -d \
103
102
-v /path/to/appdata/config:/config `#optional` \
104
103
--restart unless-stopped \
105
104
lscr.io/linuxserver/duckdns:latest
106
-
107
105
```
108
106
109
107
## Parameters
110
108
111
-
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
109
+
Containers are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
112
110
113
111
| Parameter | Function |
114
112
| :----: | --- |
@@ -127,10 +125,10 @@ You can set any environment variable from a file by using a special prepend `FIL
127
125
As an example:
128
126
129
127
```bash
130
-
-e FILE__PASSWORD=/run/secrets/mysecretpassword
128
+
-e FILE__MYVAR=/run/secrets/mysecretvariable
131
129
```
132
130
133
-
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
131
+
Will set the environment variable `MYVAR` based on the contents of the `/run/secrets/mysecretvariable` file.
134
132
135
133
## Umask for running applications
136
134
@@ -139,15 +137,20 @@ Keep in mind umask is not chmod it subtracts from permissions based on it's valu
139
137
140
138
## User / Group Identifiers
141
139
142
-
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
140
+
When using volumes (`-v` flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
143
141
144
142
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
145
143
146
-
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
144
+
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id your_user` as below:
You only need to set the PUID and PGID variables if you are mounting the /config folder
@@ -160,12 +163,29 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
160
163
161
164
## Support Info
162
165
163
-
* Shell access whilst the container is running: `docker exec -it duckdns /bin/bash`
164
-
* To monitor the logs of the container in realtime: `docker logs -f duckdns`
165
-
* container version number
166
-
*`docker inspect -f '{{ index .Config.Labels "build_version" }}' duckdns`
167
-
* image version number
168
-
*`docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/duckdns:latest`
166
+
* Shell access whilst the container is running:
167
+
168
+
```bash
169
+
docker exec -it duckdns /bin/bash
170
+
```
171
+
172
+
* To monitor the logs of the container in realtime:
173
+
174
+
```bash
175
+
docker logs -f duckdns
176
+
```
177
+
178
+
* Container version number:
179
+
180
+
```bash
181
+
docker inspect -f '{{ index .Config.Labels "build_version" }}' duckdns
182
+
```
183
+
184
+
* Image version number:
185
+
186
+
```bash
187
+
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/duckdns:latest
188
+
```
169
189
170
190
## Updating Info
171
191
@@ -175,38 +195,83 @@ Below are the instructions for updating containers:
175
195
176
196
### Via Docker Compose
177
197
178
-
* Update all images: `docker-compose pull`
179
-
* or update a single image: `docker-compose pull duckdns`
180
-
* Let compose update all containers as necessary: `docker-compose up -d`
181
-
* or update a single container: `docker-compose up -d duckdns`
182
-
* You can also remove the old dangling images: `docker image prune`
198
+
* Update images:
199
+
* All images:
200
+
201
+
```bash
202
+
docker-compose pull
203
+
```
204
+
205
+
* Single image:
206
+
207
+
```bash
208
+
docker-compose pull duckdns
209
+
```
210
+
211
+
* Update containers:
212
+
* All containers:
213
+
214
+
```bash
215
+
docker-compose up -d
216
+
```
217
+
218
+
* Single container:
219
+
220
+
```bash
221
+
docker-compose up -d duckdns
222
+
```
223
+
224
+
* You can also remove the old dangling images:
225
+
226
+
```bash
227
+
docker image prune
228
+
```
183
229
184
230
### Via Docker Run
185
231
186
-
* Update the image: `docker pull lscr.io/linuxserver/duckdns:latest`
187
-
* Stop the running container: `docker stop duckdns`
188
-
* Delete the container: `docker rm duckdns`
232
+
* Update the image:
233
+
234
+
```bash
235
+
docker pull lscr.io/linuxserver/duckdns:latest
236
+
```
237
+
238
+
* Stop the running container:
239
+
240
+
```bash
241
+
docker stop duckdns
242
+
```
243
+
244
+
* Delete the container:
245
+
246
+
```bash
247
+
docker rm duckdns
248
+
```
249
+
189
250
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
190
-
* You can also remove the old dangling images: `docker image prune`
251
+
* You can also remove the old dangling images:
252
+
253
+
```bash
254
+
docker image prune
255
+
```
191
256
192
257
### Via Watchtower auto-updater (only use if you don't remember the original parameters)
193
258
194
259
* Pull the latest image at its tag and replace it with the same env variables in one run:
195
260
196
-
```bash
197
-
docker run --rm \
198
-
-v /var/run/docker.sock:/var/run/docker.sock \
199
-
containrrr/watchtower \
200
-
--run-once duckdns
201
-
```
261
+
```bash
262
+
docker run --rm \
263
+
-v /var/run/docker.sock:/var/run/docker.sock \
264
+
containrrr/watchtower \
265
+
--run-once duckdns
266
+
```
202
267
203
268
* You can also remove the old dangling images: `docker image prune`
204
269
205
-
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
270
+
**warning**: We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
274
+
**tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
0 commit comments