skip to Main Content

My docker files run locally without any problem , but when i do github actions workflow it gives error
I have been through lot of posts but couldnt find proper solution.
Been on it for like 2 days

i am attaching my docker and workflow file below, i think its related to working directory issue or is it related to permission.

ERROR: failed to solve: process "/bin/sh -c chmod +x /app/wisecow/wisecow.sh" did not complete successfully: exit code: 1 Error: buildx failed with: ERROR: failed to solve: process "/bin/sh -c chmod +x /app/wisecow/wisecow.sh" did not complete successfully: exit code: 1

My workflow file

name: Publish Docker image

on:
  push:
  release:
    types: [published]
    defaults:
        run:
           working-directory: ./app
jobs:
  push_to_registry:
    name: Push Docker image to Docker Hub
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write
      # This is used to complete the identity challenge
      # with sigstore/fulcio when running outside of PRs.
      id-token: write

    steps:
      - name: Check out the repo
        uses: actions/checkout@v4

      - name: Log in to Docker Hub
        uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}

      - name: Extract metadata (tags, labels) for Docker
        id: meta
        uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
        with:
          images: mrallena/cowsay



      - name: Build and push Docker image
        uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
        with:
          context: .
          file: ./Dockerfile
          push: true
          tags: ${{ steps.meta.outputs.tags }}
          labels: ${{ steps.meta.outputs.labels }}

My DOCKER file

# Use a base image
FROM ubuntu:latest

RUN apt-get update && apt-get install fortune-mod cowsay -y && apt-get install netcat -y
ENV PATH="/usr/games:$PATH"

# Set the working directory
WORKDIR /app/wisecow

# Copy the shell script into the image
COPY wisecow/ /app/wisecow

# Make the script executable (if needed)
RUN chmod +x /app/wisecow/wisecow.sh
# Define the default command to run when the container starts
CMD ["sh", "-c", "./wisecow.sh"]

BUILD TO BE SUCCESSFUL

2

Answers


  1. Chosen as BEST ANSWER

    it worked, the problem was i somehow had a submodule in one of my directory , so removing it worked


  2. Hey i am facing an similar issue. When i run the docker image it gives an error message saying "Install prerequisites."

    i was able to run wisecow.sh locally but when installing the dependencies inside the container it just dosent work

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search