Skip to content

Commit

Permalink
Replace Docker Hub with Aliyun repositories
Browse files Browse the repository at this point in the history
  • Loading branch information
ARC-MX committed Jun 7, 2024
1 parent 11c4bac commit c60b076
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 35 deletions.
20 changes: 17 additions & 3 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,25 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Log into registry
run: echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
- name: Log into docker hub registry
run: echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin

- name: Build and push Docker image
run: |
PLATFORMS=linux/arm64,linux/amd64,linux/arm/v7
DOCKER_IMAGE=arcw/sgcc_electricity
docker buildx build --platform $PLATFORMS -t $DOCKER_IMAGE:latest -t $DOCKER_IMAGE:1.4.0 --file Dockerfile-for-github-action --push .
docker buildx build --platform $PLATFORMS -t $DOCKER_IMAGE:latest -t $DOCKER_IMAGE:1.4.0 --file Dockerfile-for-github-action --push .
- name: pull Docker image
run: |
docker pull mongo:4.4.18
docker tag mongo:4.4.18 registry.cn-hangzhou.aliyuncs.com/arcw/mongo:4.4.18
- name: Log into Aliyun hub registry and push Docker image
run: |
echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.ALIYUN_USERNAME }} --password-stdin registry.cn-hangzhou.aliyuncs.com
PLATFORMS=linux/arm64,linux/amd64,linux/arm/v7
DOCKER_IMAGE=registry.cn-hangzhou.aliyuncs.com/arcw/sgcc_electricity
docker buildx build --platform $PLATFORMS -t $DOCKER_IMAGE:latest -t $DOCKER_IMAGE:1.4.0 --file Dockerfile-for-github-action --push .
docker push registry.cn-hangzhou.aliyuncs.com/arcw/mongo:4.4.18
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.8-slim-buster as build
FROM python:3.9-bullseye as build

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
Expand Down
63 changes: 34 additions & 29 deletions Dockerfile-for-github-action
Original file line number Diff line number Diff line change
Expand Up @@ -11,37 +11,42 @@ WORKDIR /app
# COPY scripts/* /app/
COPY ./requirements.txt /tmp/requirements.txt

RUN apt-get --allow-releaseinfo-change update \
&& apt-get install -y --no-install-recommends jq chromium chromium-driver tzdata \
&& ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& dpkg-reconfigure --frontend noninteractive tzdata \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get clean
# RUN apt-get --allow-releaseinfo-change update \
# && apt-get install -y --no-install-recommends jq chromium chromium-driver tzdata \
# && ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
# && dpkg-reconfigure --frontend noninteractive tzdata \
# && rm -rf /var/lib/apt/lists/* \
# && apt-get clean

RUN cd /tmp \
&& python3 -m pip install --upgrade pip

RUN if [${TARGETARCH} == "arm"]; then \
cd /tmp \
&& curl -O -L https://github.com/nknytk/built-onnxruntime-for-raspberrypi-linux/blob/master/wheels/bullseye/onnxruntime-1.16.0-cp39-cp39-linux_armv7l.whl \
&& PIP_ROOT_USER_ACTION=ignore pip3 install onnxruntime-1.16.0-cp39-cp39-linux_armv7l.whl \
&& PIP_ROOT_USER_ACTION=ignore pip3 install cmake==3.14.3; \
fi

RUN if [${TARGETARCH} == "arm64"]; then \
cd /tmp \
&& PIP_ROOT_USER_ACTION=ignore pip3 install onnxruntime==1.17.3; \
fi

RUN cd /tmp \
&& PIP_ROOT_USER_ACTION=ignore pip install \
--disable-pip-version-check \
--no-cache-dir \
-r requirements.txt \
&& rm -rf /tmp/* \
&& pip cache purge \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /var/log/*
&& python3 -m pip install --upgrade pip \
&& echo '#/bin/bash\n \
if ["$TARGETARCH" = "arm"]; then\n \
cd /tmp\n \
curl -O -L https://github.com/nknytk/built-onnxruntime-for-raspberrypi-linux/blob/master/wheels/bullseye/onnxruntime-1.16.0-cp39-cp39-linux_armv7l.whl\n \
PIP_ROOT_USER_ACTION=ignore pip3 install onnxruntime-1.16.0-cp39-cp39-linux_armv7l.whl\n \
curl -O -L https://github.com/maxisoft/pytorch-arm/releases/download/v1.0.0/numpy-1.23.5-cp39-cp39-linux_armv7l.whl\n \
PIP_ROOT_USER_ACTION=ignore pip3 install numpy-1.23.5-cp39-cp39-linux_armv7l.whl\n \
PIP_ROOT_USER_ACTION=ignore pip3 install cmake==3.14.3;\n \
else\n \
cd /tmp\n \
PIP_ROOT_USER_ACTION=ignore pip3 install onnxruntime==1.17.3 numpy==1.23.5;\n \
fi \n' > ./targetArch.sh \
&& bash ./targetArch.sh


# ENTRYPOINT [ "cat", "./targetArch.sh" ]
# ENTRYPOINT [ "bash", "./targetArch.sh" ]

# RUN cd /tmp \
# && PIP_ROOT_USER_ACTION=ignore pip install \
# --disable-pip-version-check \
# --no-cache-dir \
# -r requirements.txt \
# && rm -rf /tmp/* \
# && pip cache purge \
# && rm -rf /var/lib/apt/lists/* \
# && rm -rf /var/log/*

ENV LANG C.UTF-8

Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@

```bash
git clone https://github.com/ARC-MX/sgcc_electricity_new.git
# 如果github网络环境不好的话可以使用国内镜像,完全同步的,个人推荐使用国内镜像
# git clone https://gitee.com/ARC-MX/sgcc_electricity_new.git
cd sgcc_electricity_new
```
3. 创建环境变量文件
Expand Down Expand Up @@ -110,6 +112,10 @@
```
4. 运行

我已经优化了镜像环境,将镜像的地址配置为阿里云,如果要使用docker hub的源可以将docker-compose.yml中
image: registry.cn-hangzhou.aliyuncs.com/arcw/sgcc_electricity:latest 改为 arcw/sgcc_electricity:latest
image: registry.cn-hangzhou.aliyuncs.com/arcw/mongo:4.4.18 改为 mongo:4.4.18

```bash
docker compose up --build
# 或者后台运行
Expand Down
4 changes: 2 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ services:
- .env
depends_on:
- mongo
image: arcw/sgcc_electricity:latest # armv8
image: registry.cn-hangzhou.aliyuncs.com/arcw/sgcc_electricity:latest # for use docker.io: arcw/sgcc_electricity:latest
# build:
# context: .
# dockerfile: Dockerfile
Expand All @@ -22,7 +22,7 @@ services:
command: python3 main.py
# 默认将近30天数据写入mongo数据库,方便查询
mongo:
image: mongo:4.4.18
image: registry.cn-hangzhou.aliyuncs.com/arcw/mongo:4.4.18 # for use docker.io: mongo:4.4.18
restart: always
container_name: mongo-for-sgcc
networks:
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ Pillow==9.2.0
undetected_chromedriver==3.4.7
pymongo~=3.12.0
# onnxruntime==1.17.3
# numpy==1.24.3
python-dotenv

0 comments on commit c60b076

Please sign in to comment.