Skip to content

The CadSoft EAGLE is dockerized and runs directly from the container

License

Notifications You must be signed in to change notification settings

tombenke/deagle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Dockerized EAGLE

This project is about installing and running the CadSoft EAGLE 7.7.0 software from a docker image.

You do not have to pollute your original operating system, with installing the several libs and the app itself. Instead you only need docker to be installed.

At the same time you can keep your projects on your disk, that the EAGLE docker container will reach through volumes.

This solution was made based on the Running GUI apps with Docker blog post written by Fábio Rehm.

Installation

The final eagle docker images can be made with the following steps:

  1. Build the base image.
  2. Start the image in the initial container for installation and configuration.
  3. Execute the interactive install script.
  4. Start the eagle application and set the options pointing to the projects folders, etc.
  5. Commit the changes made to the container during the installation and configuration.
  6. Push your newly created image to your docker hub as a reference image.
  7. Start using the eagle image.

Build the image

Execute:

    docker build -t eagle:latest .

Install and configure the initial image

Start the new image in a terminal:

    docker run \
        -it \
        -e DISPLAY=$DISPLAY \
        -v /tmp/.X11-unix:/tmp/.X11-unix \
        -v /home/tombenke/topics:/home/developer/topics \
        --name=eagle_base \
        eagle:latest \
        bash

Start the EAGLE setup script from an other terminal:

    docker exec -ti -e DISPLAY=$DISPLAY  eagle_base /home/developer/eagle-lin64-7.7.0.run

This opens an X window and goes through the interactive setup session. It offers a destination folder where to install the executables. You can accept the default, that is /home/developer/eagle-7.7.0. In the next step, choose the EAGLE Express licence. Then press the Finish button and the script finishes its job.

Keep the first docker session running, and now start the installed EAGLE application:

docker exec -ti -e DISPLAY=$DISPLAY eagle_base /home/developer/eagle-7.7.0/bin/eagle

Say No to the question about if you want to set the default project folder to ~/eagle, and change the values under the Options/Directories dialog box according to your needs.

For example append :$HOME/topics/eagle_libs to the Libraries field, then remove the $HOME/eagle from the beginning of the Projects field, and append :$HOME/topics to it. Now you can exit from the EAGLE application.

Remove the install script:

    sudo su - 
    rm /home/developer/eagle-lin64-7.7.0.run 
    logout

Stop the container running in the original terminal:

    exit

Get the container ID:

    docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
    f4e14adfb9cb        eagle:latest        "bash"              32 minutes ago      Exited (0) 3 seconds ago                       eagle_base

Commit the changes you have made (replace tombenke with your account name):

    docker commit f4e14adfb9cb tombenke/eagle:latest
    sha256:a7f69df3baa0a54dcc8edd7755d7719eb4a3e31535effdde7485d9d5ef053d9b

For the sake of brevity, push the image to the docker hub.

Use the container

Run this if you want the container to be removed after the session:

    docker run \
        -it \
        --rm \
        -e DISPLAY=$DISPLAY \
        -v /tmp/.X11-unix:/tmp/.X11-unix \
        -v /home/tombenke/topics:/home/developer/topics \
        tombenke/eagle:latest \
        /home/developer/eagle-7.7.0/bin/eagle

In case you want to make changes, then start the container without the --rm switch, and execute the commit and push sequence mentioned previously:

    docker run \
        -it \
        -e DISPLAY=$DISPLAY \
        -v /tmp/.X11-unix:/tmp/.X11-unix \
        -v /home/tombenke/topics:/home/developer/topics \
        tombenke/eagle:latest \
        /home/developer/eagle-7.7.0/bin/eagle

References

About

The CadSoft EAGLE is dockerized and runs directly from the container

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages