github:https://github.com/containrrr/watchtower
文档:https://containrrr.dev/watchtower/
Watchtower 是一个可以实现自动更新 Docker 基础镜像与容器的实用工具。
它会拉取最新镜像并使用最初部署时相同的参数重新启动相应的容器。
# --cleanup 每次更新都会把旧的镜像清理掉# -i --interval 更新间隔,默认300sdocker run -d \--name watchtower \-v /var/run/docker.sock:/var/run/docker.sock \containrrr/watchtower \--cleanup \-i 30 \my-image
helper
docker run --rm containrrr/watchtower -hUsage:watchtower [flags]Flags:-a, --api-version string api version to use by docker client (default "1.25")-c, --cleanup remove previously used images after updating-d, --debug enable debug mode with verbose logging--enable-lifecycle-hooks Enable the execution of commands triggered by pre- and post-update lifecycle hooks-h, --help help for watchtower-H, --host string daemon socket to connect to (default "unix:///var/run/docker.sock")--http-api-metrics Runs Watchtower with the Prometheus metrics API enabled--http-api-token string Sets an authentication token to HTTP API requests.--http-api-update Runs Watchtower in HTTP API mode, so that image updates must to be triggered by a request--include-restarting Will also include restarting containers-S, --include-stopped Will also include created and exited containers-i, --interval int poll interval (in seconds) (default 86400)-e, --label-enable watch containers where the com.centurylinklabs.watchtower.enable label is true-m, --monitor-only Will only monitor for new images, not update the containers--no-color Disable ANSI color escape codes in log output--no-pull do not pull any new images--no-restart do not restart any containers--no-startup-message Prevents watchtower from sending a startup message--notification-email-delay int Delay before sending notifications, expressed in seconds--notification-email-from string Address to send notification emails from--notification-email-server string SMTP server to send notification emails through--notification-email-server-password string SMTP server password for sending notifications--notification-email-server-port int SMTP server port to send notification emails through (default 25)--notification-email-server-tls-skip-verify Controls whether watchtower verifies the SMTP server's certificate chain and host name.Should only be used for testing.--notification-email-server-user string SMTP server user for sending notifications--notification-email-subjecttag string Subject prefix tag for notifications via mail--notification-email-to string Address to send notification emails to--notification-gotify-tls-skip-verify Controls whether watchtower verifies the Gotify server's certificate chain and host name.Should only be used for testing.--notification-gotify-token string The Gotify Application required to query the Gotify API--notification-gotify-url string The Gotify URL to send notifications to--notification-msteams-data The MSTeams notifier will try to extract log entry fields as MSTeams message facts--notification-msteams-hook string The MSTeams WebHook URL to send notifications to--notification-slack-channel string A string which overrides the webhook's default channel. Example: #my-custom-channel--notification-slack-hook-url string The Slack Hook URL to send notifications to--notification-slack-icon-emoji string An emoji code string to use in place of the default icon--notification-slack-icon-url string An icon image URL string to use in place of the default icon--notification-slack-identifier string A string which will be used to identify the messages coming from this watchtower instance (default "watchtower")--notification-template string The shoutrrr text/template for the messages--notification-url stringArray The shoutrrr URL to send notifications to-n, --notifications strings notification types to send (valid: email, slack, msteams, gotify, shoutrrr)--notifications-level string The log level used for sending notifications. Possible values: panic, fatal, error, warn, info or debug (default "info")--remove-volumes remove attached volumes before updating--revive-stopped Will also start stopped containers that were updated, if include-stopped is active--rolling-restart Restart containers one at a time-R, --run-once Run once now and exit-s, --schedule string the cron expression which defines when to update--scope string Defines a monitoring scope for the Watchtower instance.-t, --stop-timeout duration timeout before a container is forcefully stopped (default 10s)-v, --tlsverify use TLS and verify the remote--trace enable trace mode with very verbose logging - caution, exposes credentials--warn-on-head-failure string When to warn about HEAD pull requests failing. Possible values: always, auto or never
安装 mysql
mysql:
数据存储位置:/var/lib/mysql
- MYSQL_ROOT_PASSWORD:密码
- MYSQL_DATABASE: 创建数据库
- MYSQL_ALLOW_EMPTY_PASSWORD:允许空密码
构建wordpress:
docker run -d --name mysql -v mysql-data:/var/lib/mysql5.7 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress mysql:5.7docker run -d --name wordpress --link mysql -e WORDPRESS_DB_HOST=mysql:3306 -p 80:80 wordpress
