docker-mariadb
watchtower
docker-mariadb | watchtower | |
---|---|---|
5 | 215 | |
194 | 16,889 | |
0.5% | 1.6% | |
7.8 | 8.2 | |
8 days ago | 8 days ago | |
Dockerfile | Go | |
GNU General Public License v3.0 only | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
docker-mariadb
-
Nextcloud ! Why is it so F*ing difficult to setup!
mariadb: # https://github.com/linuxserver/docker-mariadb/releases image: lscr.io/linuxserver/mariadb:${MARIADB_VERSION:-latest} container_name: nextcloud_mariadb environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - MYSQL_ROOT_PASSWORD=${NEXTCLOUD_MARIADB_ROOT_PASSWORD} - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=${NEXTCLOUD_MARIADB_PASSWORD} volumes: - ${NEXTCLOUD_PATH}/mariadb:/config security_opt: - no-new-privileges:true restart: unless-stopped labels: - "com.centurylinklabs.watchtower.enable=true" redis: # https://hub.docker.com/\_/redis?tab=tags image: redis:${REDIS_VERSION:-latest} container_name: nextcloud_redis security_opt: - no-new-privileges:true restart: unless-stopped labels: - "com.centurylinklabs.watchtower.enable=true" cloudflared: # https://github.com/cloudflare/cloudflared/releases image: cloudflare/cloudflared:${CLOUDFLARED_VERSION:-latest} container_name: nextcloud_cloudflared_tunnel command: tunnel run environment: - TUNNEL_TOKEN=${CLOUDFLARED_TUNNEL_TOKEN} restart: unless-stopped labels: - "com.centurylinklabs.watchtower.enable=true" watchtower: ## https://containrrr.dev/watchtower/ image: containrrr/watchtower:${WATCHTOWER_VERSION:-latest} container_name: nextcloud_watchtower environment: - WATCHTOWER_CLEANUP=${WATCHTOWER_CLEANUP:-false} - WATCHTOWER_LABEL_ENABLE=${WATCHTOWER_LABEL_ENABLE:-false} - WATCHTOWER_SCHEDULE=${WATCHTOWER_SCHEDULE:-0 0 0 * * *} ## https://pkg.go.dev/github.com/robfig/[email protected]#hdr-CRON\_Expression\_Format volumes: - /var/run/docker.sock:/var/run/docker.sock - /etc/localtime:/etc/localtime:ro restart: unless-stopped
-
Install nginx docker on DS920+
skip@PierHouseFiles:/volume1/docker/nginx-proxy$ sudo docker container inspect linuxserver-nginx Password: [ { "Id": "1992aa80d4546645e28dfc1d27b4fc54c10916da817b1a6150ef769bbbd32a20", "Created": "2022-11-06T22:07:59.711897196Z", "Path": "/init", "Args": [], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 1385, "ExitCode": 0, "Error": "", "StartedAt": "2022-11-07T00:54:46.198891333Z", "FinishedAt": "2022-11-07T00:54:34.639372852Z", "StartedTs": 1667782486, "FinishedTs": 1667782474 }, "Image": "sha256:8e3370038aa95ec282128b14524586d5c8144b3f05ccc265c8a9a75e482197ae", "ResolvConfPath": "/volume1/@docker/containers/1992aa80d4546645e28dfc1d27b4fc54c10916da817b1a6150ef769bbbd32a20/resolv.conf", "HostnamePath": "/volume1/@docker/containers/1992aa80d4546645e28dfc1d27b4fc54c10916da817b1a6150ef769bbbd32a20/hostname", "HostsPath": "/volume1/@docker/containers/1992aa80d4546645e28dfc1d27b4fc54c10916da817b1a6150ef769bbbd32a20/hosts", "LogPath": "/volume1/@docker/containers/1992aa80d4546645e28dfc1d27b4fc54c10916da817b1a6150ef769bbbd32a20/log.db", "Name": "/linuxserver-nginx", "RestartCount": 0, "Driver": "btrfs", "Platform": "linux", "MountLabel": "", "ProcessLabel": "", "AppArmorProfile": "docker-default", "ExecIDs": null, "HostConfig": { "Binds": [ "/volume1/docker/nginx-proxy/data:/data:rw", "/volume1/docker/nginx-proxy/letsencrypt:/etc/letsencrypt:rw", "/volume1/docker/nginx-proxy/config.json:/app/config/production.json:rw" ], "ContainerIDFile": "", "LogConfig": { "Type": "db", "Config": {} }, "NetworkMode": "npm_bridge", "PortBindings": { "443/tcp": [ { "HostIp": "", "HostPort": "4443" } ], "80/tcp": [ { "HostIp": "", "HostPort": "8880" } ] }, "RestartPolicy": { "Name": "always", "MaximumRetryCount": 0 }, "AutoRemove": false, "VolumeDriver": "", "VolumesFrom": null, "CapAdd": null, "CapDrop": null, "CgroupnsMode": "host", "Dns": null, "DnsOptions": null, "DnsSearch": null, "ExtraHosts": null, "GroupAdd": null, "IpcMode": "private", "Cgroup": "", "Links": null, "OomScoreAdj": 0, "PidMode": "", "Privileged": false, "PublishAllPorts": false, "ReadonlyRootfs": false, "SecurityOpt": null, "UTSMode": "", "UsernsMode": "", "ShmSize": 67108864, "Runtime": "runc", "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PS1=$(whoami)@$(hostname):$(pwd)\\$ ", "HOME=/root", "TERM=xterm", "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0", "S6_BEHAVIOUR_IF_STAGE2_FAILS=2", "MYSQL_DATABASE=nginxproxymanager", "MYSQL_USER=hidden", "MYSQL_PASSWORD=hidden", "MYSQL_ROOT_PASSWORD=hidden" ], "ConsoleSize": [ 0, 0 ], "Isolation": "", "CpuShares": 0, "Memory": 0, "NanoCpus": 0, "CgroupParent": "", "BlkioWeight": 0, "BlkioWeightDevice": null, "BlkioDeviceReadBps": null, "BlkioDeviceWriteBps": null, "BlkioDeviceReadIOps": null, "BlkioDeviceWriteIOps": null, "CpuPeriod": 0, "CpuQuota": 0, "CpuRealtimePeriod": 0, "CpuRealtimeRuntime": 0, "CpusetCpus": "", "CpusetMems": "", "Devices": null, "DeviceCgroupRules": null, "DeviceRequests": null, "KernelMemory": 0, "KernelMemoryTCP": 0, "MemoryReservation": 0, "MemorySwap": 0, "MemorySwappiness": null, "OomKillDisable": false, "PidsLimit": null, "Ulimits": null, "CpuCount": 0, "CpuPercent": 0, "IOMaximumIOps": 0, "IOMaximumBandwidth": 0, "MaskedPaths": [ "/proc/asound", "/proc/acpi", "/proc/kcore", "/proc/keys", "/proc/latency_stats", "/proc/timer_list", "/proc/timer_stats", "/proc/sched_debug", "/proc/scsi", "/sys/firmware" ], "ReadonlyPaths": [ "/proc/bus", "/proc/fs", "/proc/irq", "/proc/sys", "/proc/sysrq-trigger" ] }, "GraphDriver": { "Data": null, "Name": "btrfs" }, "Mounts": [ { "Type": "bind", "Source": "/volume1/docker/nginx-proxy/data", "Destination": "/data", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Type": "bind", "Source": "/volume1/docker/nginx-proxy/letsencrypt", "Destination": "/etc/letsencrypt", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Type": "bind", "Source": "/volume1/docker/nginx-proxy/config.json", "Destination": "/app/config/production.json", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Type": "volume", "Name": "7fbb4023bcb8e7d59ebc0792a5dc347ef82c9a749fe03d161e6453dcd9f2d722", "Source": "/volume1/@docker/volumes/7fbb4023bcb8e7d59ebc0792a5dc347ef82c9a749fe03d161e6453dcd9f2d722/_data", "Destination": "/config", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ], "Config": { "Hostname": "linuxserver-nginx", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "443/tcp": {}, "80/tcp": {} }, "Tty": true, "OpenStdin": true, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PS1=$(whoami)@$(hostname):$(pwd)\\$ ", "HOME=/root", "TERM=xterm", "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0", "S6_BEHAVIOUR_IF_STAGE2_FAILS=2", "MYSQL_DATABASE=nginxproxymanager", "MYSQL_USER=hidden", "MYSQL_PASSWORD=hidden", "MYSQL_ROOT_PASSWORD=hidden" ], "Cmd": null, "Image": "linuxserver/nginx:latest", "Volumes": { "/config": {} }, "WorkingDir": "", "Entrypoint": [ "/init" ], "OnBuild": null, "Labels": { "build_version": "Linuxserver.io version:- 1.20.2-r1-ls200 Build-date:- 2022-11-04T14:50:09+01:00", "maintainer": "aptalca", "org.opencontainers.image.authors": "linuxserver.io", "org.opencontainers.image.created": "2022-11-04T14:50:09+01:00", "org.opencontainers.image.description": "[Nginx](https://nginx.org/) is a simple webserver with php support. The config files reside in for easy user customization.", "org.opencontainers.image.documentation": "https://docs.linuxserver.io/images/docker-nginx", "org.opencontainers.image.licenses": "GPL-3.0-only", "org.opencontainers.image.ref.name": "e49aeaf3e1a21f85be2ea9c55bc4c59f090db35f", "org.opencontainers.image.revision": "e49aeaf3e1a21f85be2ea9c55bc4c59f090db35f", "org.opencontainers.image.source": "https://github.com/linuxserver/docker-nginx", "org.opencontainers.image.title": "Nginx", "org.opencontainers.image.url": "https://github.com/linuxserver/docker-nginx/packages", "org.opencontainers.image.vendor": "linuxserver.io", "org.opencontainers.image.version": "1.20.2-r1-ls200" }, "DDSM": false }, "NetworkSettings": { "Bridge": "", "SandboxID": "4e77b58ede86c73a1258e6062fb9ba46e86ad1664c768e05247efc7a9d176056", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": { "443/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "4443" } ], "80/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "8880" } ] }, "SandboxKey": "/var/run/docker/netns/4e77b58ede86", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "366e9218dba163346ef0afec8b9d44af9cd3fcb59ab953ee4ec1770a10127131", "Gateway": "172.17.0.1", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "172.17.0.4", "IPPrefixLen": 16, "IPv6Gateway": "", "MacAddress": "02:42:ac:11:00:04", "Networks": { "bridge": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "0ecdce302b301515ad78f03b22358badf987b3b717e6d554a487b34e59ed981a", "EndpointID": "366e9218dba163346ef0afec8b9d44af9cd3fcb59ab953ee4ec1770a10127131", "Gateway": "172.17.0.1", "IPAddress": "172.17.0.4", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:11:00:04", "DriverOpts": null }, "npm_bridge": { "IPAMConfig": null, "Links": null, "Aliases": [ "1992aa80d454", "linuxserver-nginx" ], "NetworkID": "320416ae6c03da99e99b2706b83135076461f7f1d6a5da299e06b340a3f40fbd", "EndpointID": "7e8d7891e647165f57e53aa97234b5070301a9677ad2bb9ec0306181a229edb1", "Gateway": "192.168.10.1", "IPAddress": "192.168.10.2", "IPPrefixLen": 24, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:c0:a8:0a:02", "DriverOpts": null }, "npm_network": { "IPAMConfig": null, "Links": null, "Aliases": [ "1992aa80d454", "linuxserver-nginx" ], "NetworkID": "9de50cd14ec2a8a9bacf1539de15880eca8f026d0bc12fc9a39f962f866ada3f", "EndpointID": "86736580c42dc525017fcfe75f493c0db04b225e404be5077ac103d5d54f3001", "Gateway": "192.168.0.1", "IPAddress": "192.168.0.198", "IPPrefixLen": 24, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:c0:a8:00:c6", "DriverOpts": null } } } } ] ############################################## ############################################## skip@PierHouseFiles:/volume1/docker/nginx-proxy$ sudo docker container inspect linuxserver-mariadb [ { "Id": "7aa9e9dcbf295f3ab5de0e62055cadcc4315bd7f63477e05c5a24b9c5eabc071", "Created": "2022-11-06T22:02:11.484075802Z", "Path": "/init", "Args": [], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 7058, "ExitCode": 0, "Error": "", "StartedAt": "2022-11-06T22:02:18.804575795Z", "FinishedAt": "0001-01-01T00:00:00Z", "StartedTs": 1667772138, "FinishedTs": -62135596800 }, "Image": "sha256:89cd4ef08db07c8f3ae6a3ba77c590b2ee29f6b431d78c0bcb769d5fc3338834", "ResolvConfPath": "/volume1/@docker/containers/7aa9e9dcbf295f3ab5de0e62055cadcc4315bd7f63477e05c5a24b9c5eabc071/resolv.conf", "HostnamePath": "/volume1/@docker/containers/7aa9e9dcbf295f3ab5de0e62055cadcc4315bd7f63477e05c5a24b9c5eabc071/hostname", "HostsPath": "/volume1/@docker/containers/7aa9e9dcbf295f3ab5de0e62055cadcc4315bd7f63477e05c5a24b9c5eabc071/hosts", "LogPath": "/volume1/@docker/containers/7aa9e9dcbf295f3ab5de0e62055cadcc4315bd7f63477e05c5a24b9c5eabc071/log.db", "Name": "/linuxserver-mariadb", "RestartCount": 0, "Driver": "btrfs", "Platform": "linux", "MountLabel": "", "ProcessLabel": "", "AppArmorProfile": "docker-default", "ExecIDs": null, "HostConfig": { "Binds": [ "/volume1/docker/mariadb:/var/lib/mysql:rw" ], "ContainerIDFile": "", "LogConfig": { "Type": "db", "Config": {} }, "NetworkMode": "bridge", "PortBindings": { "3306/tcp": [ { "HostIp": "", "HostPort": "3306" } ] }, "RestartPolicy": { "Name": "always", "MaximumRetryCount": 0 }, "AutoRemove": false, "VolumeDriver": "", "VolumesFrom": null, "CapAdd": null, "CapDrop": null, "CgroupnsMode": "host", "Dns": null, "DnsOptions": null, "DnsSearch": null, "ExtraHosts": null, "GroupAdd": null, "IpcMode": "private", "Cgroup": "", "Links": null, "OomScoreAdj": 0, "PidMode": "", "Privileged": false, "PublishAllPorts": false, "ReadonlyRootfs": false, "SecurityOpt": null, "UTSMode": "", "UsernsMode": "", "ShmSize": 67108864, "Runtime": "runc", "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PS1=$(whoami)@$(hostname):$(pwd)\\$ ", "HOME=/root", "TERM=xterm", "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0", "S6_VERBOSITY=1", "S6_STAGE2_HOOK=/docker-mods", "MYSQL_DIR=/config", "DATADIR=/config/databases" ], "ConsoleSize": [ 0, 0 ], "Isolation": "", "CpuShares": 0, "Memory": 0, "NanoCpus": 0, "CgroupParent": "", "BlkioWeight": 0, "BlkioWeightDevice": null, "BlkioDeviceReadBps": null, "BlkioDeviceWriteBps": null, "BlkioDeviceReadIOps": null, "BlkioDeviceWriteIOps": null, "CpuPeriod": 0, "CpuQuota": 0, "CpuRealtimePeriod": 0, "CpuRealtimeRuntime": 0, "CpusetCpus": "", "CpusetMems": "", "Devices": null, "DeviceCgroupRules": null, "DeviceRequests": null, "KernelMemory": 0, "KernelMemoryTCP": 0, "MemoryReservation": 0, "MemorySwap": 0, "MemorySwappiness": null, "OomKillDisable": false, "PidsLimit": null, "Ulimits": null, "CpuCount": 0, "CpuPercent": 0, "IOMaximumIOps": 0, "IOMaximumBandwidth": 0, "MaskedPaths": [ "/proc/asound", "/proc/acpi", "/proc/kcore", "/proc/keys", "/proc/latency_stats", "/proc/timer_list", "/proc/timer_stats", "/proc/sched_debug", "/proc/scsi", "/sys/firmware" ], "ReadonlyPaths": [ "/proc/bus", "/proc/fs", "/proc/irq", "/proc/sys", "/proc/sysrq-trigger" ] }, "GraphDriver": { "Data": null, "Name": "btrfs" }, "Mounts": [ { "Type": "bind", "Source": "/volume1/docker/mariadb", "Destination": "/var/lib/mysql", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Type": "volume", "Name": "01afa1366dc9bea2017f3b62a4d76804e574748adc9e686d1bc65ad9390460b9", "Source": "/volume1/@docker/volumes/01afa1366dc9bea2017f3b62a4d76804e574748adc9e686d1bc65ad9390460b9/_data", "Destination": "/config", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ], "Config": { "Hostname": "linuxserver-mariadb", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "3306/tcp": {} }, "Tty": true, "OpenStdin": true, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PS1=$(whoami)@$(hostname):$(pwd)\\$ ", "HOME=/root", "TERM=xterm", "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0", "S6_VERBOSITY=1", "S6_STAGE2_HOOK=/docker-mods", "MYSQL_DIR=/config", "DATADIR=/config/databases" ], "Cmd": null, "Image": "linuxserver/mariadb:latest", "Volumes": { "/config": {} }, "WorkingDir": "", "Entrypoint": [ "/init" ], "OnBuild": null, "Labels": { "build_version": "Linuxserver.io version:- 10.6.10-r0-ls73 Build-date:- 2022-11-05T06:47:10+01:00", "maintainer": "thelamer,nemchik", "org.opencontainers.image.authors": "linuxserver.io", "org.opencontainers.image.created": "2022-11-05T06:47:10+01:00", "org.opencontainers.image.description": "[Mariadb](https://mariadb.org/) is one of the most popular database servers. Made by the original developers of MySQL.", "org.opencontainers.image.documentation": "https://docs.linuxserver.io/images/docker-mariadb", "org.opencontainers.image.licenses": "GPL-3.0-only", "org.opencontainers.image.ref.name": "2f13b5a64a857dd49d67278b5abb06e991c5635c", "org.opencontainers.image.revision": "2f13b5a64a857dd49d67278b5abb06e991c5635c", "org.opencontainers.image.source": "https://github.com/linuxserver/docker-mariadb", "org.opencontainers.image.title": "Mariadb", "org.opencontainers.image.url": "https://github.com/linuxserver/docker-mariadb/packages", "org.opencontainers.image.vendor": "linuxserver.io", "org.opencontainers.image.version": "10.6.10-r0-ls73" }, "DDSM": false }, "NetworkSettings": { "Bridge": "", "SandboxID": "41129f258b07912c9cd44392723ca8010677876ba6fd725f6b8f9d2b4d103fbf", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": { "3306/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "3306" } ] }, "SandboxKey": "/var/run/docker/netns/41129f258b07", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "7feb012b60a2278633faabeb1b2d8137d5fd9aea89d32ee51f5b81ebc681a97d", "Gateway": "172.17.0.1", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "172.17.0.2", "IPPrefixLen": 16, "IPv6Gateway": "", "MacAddress": "02:42:ac:11:00:02", "Networks": { "bridge": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "0ecdce302b301515ad78f03b22358badf987b3b717e6d554a487b34e59ed981a", "EndpointID": "7feb012b60a2278633faabeb1b2d8137d5fd9aea89d32ee51f5b81ebc681a97d", "Gateway": "172.17.0.1", "IPAddress": "172.17.0.2", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:11:00:02", "DriverOpts": null } } } } ] ################################################ ## And here's my config.json ################################################ skip@PierHouseFiles:/volume1/docker/nginx-proxy$ cat config.json { "database": { "engine": "mysql", "host": "192.168.0.2", "name": "nginxproxymanager", "user": "hidden", "password": "hidden", "port": 3306 } }
-
Radarr installation fails on fresh Ubuntu install
# https://github.com/linuxserver/docker-mariadb # Port 3306 mariadb: container_name: mariadb environment: MYSQL_DATABASE: $MYSQL_DATABASE MYSQL_PASSWORD: $MYSQL_PASSWORD MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD MYSQL_USER: $MYSQL_USER PGID: $PGID PUID: $PUID TZ: $TZ image: ghcr.io/linuxserver/mariadb networks: smarthome: ipv4_address: 172.18.0.4 restart: always volumes: - $USERDIR2/mariadb:/config
-
Major delta(s) between host and container Time & Date
The build of current linuxserver/mariadb:arm32v7-latest (10.5.x) introduced a bug. UMASK is being incorrectly applied during build of the container and installation per this open issue comment on Github. As a solution I manually applied CHMOD 775 to the folders since all my folders are mapped to the host system. I assigned all folders to ownership matching the PGID / PUID specified in my compose file.
- Docker MariaDB version available for ARM32 / RaspberryPi
watchtower
-
My deployment platform is a shell script
Related: https://github.com/containrrr/watchtower
- PSA - Run "docker image prune" once in a while.
-
Roundcube Open-Source Webmail Software Merges with Nextcloud
> if you're using the docker image, upgrades are a breeze. Just bump the tag on the image, redeploy, and you're done.
Or you could just run Watchtower beside it and it will automatically update your docker containers. https://github.com/containrrr/watchtower If you are OK with automated updates.
-
The Curse of Docker
So i primarily use containers on my local machine walled off from the internet, so it's not a big concern for me. Watchtower [1] is popular among home server users too which automatically updates containers to the latest image.
For production uses I think companies generally build their own containers. They would have a common base linux container and build the other containers based off that with a typical CI/CD pipeline. So if glibc is patched, it's probably patched in the base container and the others are then rebuilt. You don't have to patch each container individually, just the base. Production also minimizes the scope of containers with nothing installed except what's necessary so they have few dependencies.
[1] https://github.com/containrrr/watchtower
-
Ask HN: If you were to build a web app today what tech stack would you choose?
You can use Watchtower (https://containrrr.dev/watchtower/) that solves problem of manual pulling on VPS.
-
Running watchtower weekly or whenever new image is available
I checked https://containrrr.dev/watchtower/ and Arguments, but I don't understand where to attach that using portainer.
-
Long Term Ownership of an Event-Driven System
Again, there are options to automate some of the burden here by using tools such as Watchtower.
-
Updating Docker Apps automagically with Watchtower✨🐳
Have you ever deployed a Docker app on a server, but everytime you push a new version of your image to a Docker registry you need to manually restart your app? If you want to automate this restarting, this blog post is for you! I am now going to show you how you can do this with literally 1 simple command using Watchtower!
- Plex Docker Saved me
- Watchtower updates
What are some alternatives?
FlareSolverr - Proxy server to bypass Cloudflare protection
ouroboros - Automatically update running docker containers with newest available image
docker-sonarr
Diun - Receive notifications when an image is updated on a Docker registry
docker-radarr
Portainer - Making Docker and Kubernetes management easy.
docker-pi-hole - Pi-hole in a docker container
docker-socket-proxy - Proxy over your Docker socket to restrict which requests it accepts
docker-duplicati
shepherd - Docker swarm service for automatically updating your services whenever their image is refreshed
docker-pihole-unbound - Run Pi-Hole + Unbound on Docker
whats-up-docker - What's up Docker ( aka WUD ) gets you notified when a new version of your Docker Container is available.