-
Linux
apt-get install docker-ce docker-ce-cli containerd.io
-
Mac / Windows
https://www.docker.com/products/docker-desktop
- The image is base on Ubuntu The Jammy Jellyfish
- Python version install : 3.10
- Build the image, run the following command line :
docker build --build-arg quantum_env=qiskit-light.sh -t quantum_lab .
- You can replace
qiskit-light.sh
with the following oneqiskit-full.sh
,qml.sh
,qsharp.sh
,simulaqron.sh
,myqlm.sh
orcirq.sh
- You can replace
- To create a new containeur and go inside, run the script :
./start.sh
- Libs common for every env :
networkx, numpy, matplotlib, notebook, pandas, scipy, tk, vim
- 6 libs setup are available, one for installating PennyLane, one for using Qiskit, one for using Q#, one for SimulaQron, one for myQLM and one for Cirq.
qml.sh
- Libs :
autograd, pennylane, pennylane-sf, pennylane-qiskit
- Libs :
qiskit-light.sh
- Libs :
qiskit, qiskit-aer, qiskit[visualization]
- Libs :
qiskit-full.sh
- Libs :
qiskit, qiskit-aer, qiskit[visualization], qiskit-nature, qiskit-finance, qiskit-optimization, qiskit-machine-learning
- Libs :
qsharp.sh
- Libs :
qsharp, iqsharp
- Libs :
simulaqron.sh
- Libs :
simulaqron
- Libs :
myqlm.sh
- Libs :
myqlm, libmagickwand-dev, myqlm-interop[qiskit_binder]
- Libs :
cirq.sh
- Libs :
cirq, cirq-core[contrib], texlive-latex-base, latexmk
- Libs :
The folder data/share
is link to the host file and allow to register the modification in the host computer
To launch the Jupyter notebook instance :
- be inside the
data
folder - run :
./start_jupyter.sh
- copy and paste this url in your browser :
http://127.0.0.1:8888/
- List the existed images :
docker images
- List the existed containeur :
docker ps -a
- The
-a
is used the see every existed containeurs, that's include the stopped one
- The
- To start a containeur :
docker start [CONTAINEUR_ID]
- To go inside a started containeur :
docker exec -it -u root [CONTAINEUR_ID] /bin/bash
- Delete containeur :
docker rm [CONTAINEUR_ID]
- Delete stopped container :
docker container prune
- Delete image :
docker rmi [NAME_OF_THE_IMAGE]
- You can use
-f
to force the suppression and delete the containeurs associated to the image
- You can use
- List the existed volume :
docker volume ls
- Delete volume not used anymore :
docker volume prune
If you use my work, please cite as :
Quantum Lab: Docker image for quantum laboratory, Michaël Rollin, 2021, DOI: 10.5281/zenodo.4664195
Thanks goes to these wonderful people (emoji key):
Mica 💻 📖 |
Alberto Maldonado 👀 |
This project follows the all-contributors specification. Contributions of any kind welcome!