From d7d2b10f69b78c1d51652ef11101d7406abd8174 Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Tue, 17 May 2022 14:11:38 +0200 Subject: [PATCH] Create docker.yml (#7856) * Create docker.yml * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update docker.yml * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update docker.yml * Update docker.yml * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Cleanup * Cleanup2 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .github/workflows/docker.yml | 54 +++++++++++++++++++ utils/docker/Dockerfile | 2 +- .../{Dockerfile-M1 => Dockerfile-arm64} | 2 +- utils/docker/Dockerfile-cpu | 2 +- 4 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/docker.yml rename utils/docker/{Dockerfile-M1 => Dockerfile-arm64} (94%) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 000000000000..ea0e2e953adc --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,54 @@ +# YOLOv5 🚀 by Ultralytics, GPL-3.0 license + +name: Publish Docker Images + +on: + push: + branches: [master] + # pull_request: + # branches: [master] + +jobs: + docker: + name: Push Docker image to Docker Hub + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and push CPU image + uses: docker/build-push-action@v3 + with: + context: . + file: utils/docker/Dockerfile-cpu + push: true + tags: ultralytics/yolov5:latest-cpu + + - name: Build and push GPU image + uses: docker/build-push-action@v3 + with: + context: . + file: utils/docker/Dockerfile + push: true + tags: ultralytics/yolov5:latest + + #- name: Build and push arm64 image + # uses: docker/build-push-action@v3 + # with: + # context: . + # platforms: linux/arm64 + # file: utils/docker/Dockerfile-arm64 + # push: true + # tags: ultralytics/yolov5:latest-arm64 diff --git a/utils/docker/Dockerfile b/utils/docker/Dockerfile index 654601e26976..7c1e5e8f7bee 100644 --- a/utils/docker/Dockerfile +++ b/utils/docker/Dockerfile @@ -15,7 +15,7 @@ COPY requirements.txt . RUN python -m pip install --upgrade pip RUN pip uninstall -y torch torchvision torchtext Pillow RUN pip install --no-cache -r requirements.txt albumentations wandb gsutil notebook Pillow>=9.1.0 \ - torch torchvision --extra-index-url https://download.pytorch.org/whl/cu113 + --extra-index-url https://download.pytorch.org/whl/cu113 # Create working directory RUN mkdir -p /usr/src/app diff --git a/utils/docker/Dockerfile-M1 b/utils/docker/Dockerfile-arm64 similarity index 94% rename from utils/docker/Dockerfile-M1 rename to utils/docker/Dockerfile-arm64 index 4efb749afbc5..64a3182169f1 100644 --- a/utils/docker/Dockerfile-M1 +++ b/utils/docker/Dockerfile-arm64 @@ -34,7 +34,7 @@ RUN git clone https://github.com/ultralytics/yolov5 /usr/src/yolov5 # Usage Examples ------------------------------------------------------------------------------------------------------- # Build and Push -# t=ultralytics/yolov5:latest-M1 && sudo docker build --platform linux/arm64 -f utils/docker/Dockerfile-M1 -t $t . && sudo docker push $t +# t=ultralytics/yolov5:latest-M1 && sudo docker build --platform linux/arm64 -f utils/docker/Dockerfile-arm64 -t $t . && sudo docker push $t # Pull and Run # t=ultralytics/yolov5:latest-M1 && sudo docker pull $t && sudo docker run -it --ipc=host -v "$(pwd)"/datasets:/usr/src/datasets $t diff --git a/utils/docker/Dockerfile-cpu b/utils/docker/Dockerfile-cpu index 131be2b7a22e..e77ceb68990a 100644 --- a/utils/docker/Dockerfile-cpu +++ b/utils/docker/Dockerfile-cpu @@ -17,7 +17,7 @@ COPY requirements.txt . RUN python3 -m pip install --upgrade pip RUN pip install --no-cache -r requirements.txt albumentations gsutil notebook \ coremltools onnx onnx-simplifier onnxruntime openvino-dev tensorflow-cpu tensorflowjs \ - torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu + --extra-index-url https://download.pytorch.org/whl/cpu # Create working directory RUN mkdir -p /usr/src/app