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.
The final eagle docker images can be made with the following steps:
- Build the base image.
- Start the image in the initial container for installation and configuration.
- Execute the interactive install script.
- Start the eagle application and set the options pointing to the projects folders, etc.
- Commit the changes made to the container during the installation and configuration.
- Push your newly created image to your docker hub as a reference image.
- Start using the eagle image.
Execute:
docker build -t eagle:latest .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 \
bashStart the EAGLE setup script from an other terminal:
docker exec -ti -e DISPLAY=$DISPLAY eagle_base /home/developer/eagle-lin64-7.7.0.runThis 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
logoutStop the container running in the original terminal:
exitGet 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_baseCommit the changes you have made (replace tombenke with your account name):
docker commit f4e14adfb9cb tombenke/eagle:latest
sha256:a7f69df3baa0a54dcc8edd7755d7719eb4a3e31535effdde7485d9d5ef053d9bFor the sake of brevity, push the image to the docker hub.
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/eagleIn 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- Running GUI apps with Docker
- Ubuntu Package Search
- CadSoft EAGLE ftp site
- Qt keyboard problem