Currently I’m planning to dockerize some web applications but I didn’t find a reasonably easy way do create the images to be hosted in my repository so I can pull them on my server.

What I currently have is:

  1. A local computer with a directory where the application that I want to dockerize is located
  2. A “docker server” running Portainer without shell/ssh access
  3. A place where I can upload/host the Docker images and where I can pull the images from on the “Docker server”
  4. Basic knowledge on how to write the needed Dockerfile

What I now need is a sane way to build the images WITHOUT setting up a fully featured Docker environment on the local computer.

Ideally something where I can build the images and upload them but without that something “littering Docker-related files all over my system”.

Something like a VM that resets on every start maybe? So … build the image, upload to repository, close the terminal window, and forget that anything ever happened.

What is YOUR solution to create and upload Docker images in a clean and sane way?

  • AggressivelyPassive@feddit.de
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    I use Gitea and a Runner to build Docker images from the projects in the git repo. Since I’m lazy and only have one machine, I just run the runner on the target machine and mount the docker socket.

    BTW: If you manage to “litter your system with docker related files” you fundamentally mis-used Docker. That’s exactly what Docker is supposed to prevent.

    • smik@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      Self hosting your own CI/CD is the key for OP. Littering is solved too because litter is only a problem on long running servers, which is an anti-pattern in a CI/CD environment.

    • 𝘋𝘪𝘳𝘬@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I already have Forgejo (soft-fork of Gitea) in a Docker container. I guess I need to check how I can access that exact same Docker server where itself is hosted …

      With littering I mean several docker dotfiles and dotdirectories in the user’s home directory and other system-wide locations. When I installed Docker on my local computer it created various images, containers, and volumes when created an image.

      This is what I want to prevent. Neither do I want nor do I need a fully-featured Docker environment on my local computer.