From 18e25657ea7b83d62d71e88dd97a6bb6d011c720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=9C=88=E5=9C=88?= Date: Sat, 25 Nov 2023 22:51:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4dockerize=EF=BC=8C=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=8E=9F=E7=94=9Fhealthcheck=20(#2413)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/docker-compose/docker-compose.yml | 19 +++++++++++++++++-- src/docker/Dockerfile-base | 1 - src/docker/setup.sh | 6 ------ 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/docker-compose/docker-compose.yml b/src/docker-compose/docker-compose.yml index 81185ce891..33b6a4264e 100644 --- a/src/docker-compose/docker-compose.yml +++ b/src/docker-compose/docker-compose.yml @@ -8,6 +8,11 @@ services: command: redis-server --requirepass 123456 expose: - "6379" + healthcheck: + test: [ "CMD", "redis-cli", "ping" ] + interval: 5s + timeout: 5s + retries: 5 mysql: image: mysql:5.7 @@ -21,6 +26,11 @@ services: environment: MYSQL_DATABASE: archery MYSQL_ROOT_PASSWORD: 123456 + healthcheck: + test: ["CMD", "mysqladmin", "ping"] + interval: 5s + timeout: 5s + retries: 5 goinception: image: hanchuanchuan/goinception @@ -32,13 +42,18 @@ services: - "./inception/config.toml:/etc/config.toml" archery: - # 下方的镜像地址仅为实例, 请前往以下地址确认你需要的版本: + # 下方的镜像地址仅为示例, 请前往以下地址确认你需要的版本: # dockerhub https://hub.docker.com/r/hhyo/archery # github packages https://github.com/hhyo/Archery/pkgs/container/archery # 如有需要, 也可以自行build docker 镜像, 替换为自己的镜像 image: hhyo/archery:v1.10.0 container_name: archery restart: always + depends_on: + redis: + condition: service_healthy + mysql: + condition: service_healthy ports: - "9123:9123" volumes: @@ -49,6 +64,6 @@ services: - "./archery/sql/migrations:/opt/archery/sql/migrations" - "./archery/logs:/opt/archery/logs" - "./archery/keys:/opt/archery/keys" - entrypoint: "dockerize -wait tcp://mysql:3306 -wait tcp://redis:6379 -timeout 60s /opt/archery/src/docker/startup.sh" + entrypoint: "bash /opt/archery/src/docker/startup.sh" env_file: - .env diff --git a/src/docker/Dockerfile-base b/src/docker/Dockerfile-base index afaac2193a..2da525d055 100644 --- a/src/docker/Dockerfile-base +++ b/src/docker/Dockerfile-base @@ -1,7 +1,6 @@ ARG PYTHON_BASE_IMAGE=library/python:3.11-bullseye FROM ${PYTHON_BASE_IMAGE} -ENV DOCKERIZE_VERSION v0.6.1 ENV SOAR_VERSION 0.11.0 ENV TZ Asia/Shanghai diff --git a/src/docker/setup.sh b/src/docker/setup.sh index e85b31818e..d3a44a5c9b 100644 --- a/src/docker/setup.sh +++ b/src/docker/setup.sh @@ -1,10 +1,5 @@ #!/bin/bash set -euxo pipefail -curl -q -L -o dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz -tar -C /opt -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz -chmod +x /opt/dockerize -mv /opt/dockerize /usr/local/bin/ -rm -rf dockerize* #sqladvisor curl -o sqladvisor -L https://github.com/LeoQuote/SQLAdvisor/releases/download/v2.1/sqladvisor-linux-amd64 chmod +x sqladvisor @@ -52,6 +47,5 @@ apt-get clean ln -snf /usr/share/zoneinfo/$TZ /etc/localtime echo $TZ > /etc/timezone chmod +x sqladvisor soar my2sql -chmod +x /usr/local/bin/dockerize chmod +x /usr/local/bin/mongo python3 -m venv venv4archery