reproduce-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[task #15389] Building project in containers like Docker


From: Mohammad Akhlaghi
Subject: [task #15389] Building project in containers like Docker
Date: Sat, 27 Jun 2020 23:00:01 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0

Update of task #15389 (project reproduce):

                  Status:               Postponed => Ready For Test         
        Percent Complete:                     30% => 90%                    
             Assigned to:                    None => makhlaghi              

    _______________________________________________________

Follow-up Comment #3:

The instructions to build a maneaged project in a Docker container have been
added to the 'README.md' of the maneage-paper
<https://gitlab.com/makhlaghi/maneage-paper> project under the Building in
Docker containers
<https://gitlab.com/makhlaghi/maneage-paper/-/blob/master/README.md#building-in-docker-containers>
title.

If anyone has/uses Docker, it would be great if you could try out the
instructions and give your feedback. I'll merge these explanations into the
core Maneage branch in a few days.

Docker will allow users to even build Maneaged projects on Microsoft Windows,
or in GNU/Linux distros while on a macOS (in case there are unsolved bugs, and
without the overhead of virutal machines)! As explained in the paper, its not
a good archival format, but its good for situations like these, or easy moving
around while developing the project temporarily (copying a few gigabytes is
faster than rebuilding GCC!). It is also very commonly used with many people
preferring to build projects there (this can encourage them to try out
Maneage).

Just for the record I am putting a cheat-sheet of useful Docker commands here
(maybe we can later add this list to 'README-hacking.md', or maintain it on
another page in maneage.org):


# Build the Docker image like this from the directory that contains
# this Dockerfile:
#
#   docker build ./
#
# Tips:
#   CONCEPTS:
#     IMAGE: file(s) on the filesystem, containing the environment,
#            note that images are read-only.
#     CONTAINER: A temporary running process on the computer, using
#            the images to create an identical environment.
#
#   COMMANDS:
#   * To give a name to the image that will be created from the
#     Dockerfile in the current directory, use the '-t' option:
#          docker build -t NAME ./
#
#   * To see a list of the images or running containers on the system,
#     run these commands:
#          docker image list
#          docker container list
#
#   * Once the Image is built, you can enter it interactively with
#     (where XXXXXX) is the hash of the image (or its name). Note that
#     all changes will be lost after you exit the container with
#     'exit'.
#          docker run -it XXXXXXX
#
#   * To start the container as root (not the user specified in the
#     Dockerfile), run this command. Note that all changes will be
#     lost after you exit the container with 'exit'.
#          docker run -u 0 -it XXXXXXX
#
#   * To save the state of a running container as an image, "commit"
#     it (while it is running in another terminal). But first you need
#     its identifier (which you can get from 'docker container list'):
#          docker container list
#          docker commit XXXXXXXX NAME-OF-NEW-IMAGE
#
#   * To remove all Docker images and containers:
#          docker rm $(docker ps -a -q) && docker rmi $(docker images -q)




    _______________________________________________________

Reply to this item at:

  <https://savannah.nongnu.org/task/?15389>

_______________________________________________
  Message sent via Savannah
  https://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]