GoLang Docker for Deep Learning Programming

Gorgonia is an open source machine learning framework for GoLang.


- GoLang 1.11.5
- Ubuntu 18.04.x

- GoLang 1.11.5
- Ubuntu 16.04.x
- CUDA 9.0
- nVidia Driver 384.81

# Example #1, the version of nVidia driver and CUDA should be equal or greater than 384.81 and 9.0 respectively on the host computer.


Tensorflow Docker is an Open Source Project which is released under GPLv3 License and it is developed by Samiux.

A Quick Guide to GPLv3
GNU General Public License Version 3.0


If you like our project, please show your support by sending the donation to Paypal (infosecninjas AT gmail DOT com) in USD or HKD currency. You need a Paypal account for the donation.

Change Log

Version 0.1
Released on Feb 17, 2019 GMT+8
[+] First release


sha256sum d54942484a2177f0c4a91389911e71c2a5ab8ebd25dadcb7a86b04071345a058 golang-docker-all-0.1.tar.gz

wget https://www.infosec-ninjas.com/files/golang-docker-all-0.1.tar.gz
tar -xvzf golang-docker-all-0.1.tar.gz
cd golang-docker-all

For CPU :

tar -xvzf golang-docker-0.1.tar.gz
cd golang-docker

For CUDA :

tar -xvzf golang-docker-cuda-0.1.tar.gz
cd golag-docker-cuda

Installation of Docker on Ubuntu

sudo apt update
sudo apt dist-upgrade
sudo apt install docker.io docker-compose

sudo systemctl enable docker

* CUDA docker files require to install "docker-ce", matched version of "nvidia-docker2" and "nvidia-container-runtime" as well as newer version of "docker-compose".

Building GoLang Docker

sudo ./build-image.sh

Running GoLang Docker


Connect to running container


Copy file to Container

./docker-copy.sh [FILE] [CONTAINER]

Copy file from Container

./docker-copy-from.sh [CONTAINER]:[FILE] [FILE]

Update Docker image

Make sure the GoLang docker container is running and updating the packages inside with the following command :


After the update and make sure the container is still running, open another terminal on the host and run the following command :


The image is then up-to-date. Meanwhile, you can store data inside "data" at root directory of the container.

The file stored at "data" directory in the container is stored at "/var/lib/docker/volumes/" on the host.

How to delete host "volumes" on macOSX?

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

Press "Enter".

cd /var/lib/docker/volumes

To exit, press "CTRL+a+d"

* For macOSX, the "network-mode" should be set to "bridge" in "docker-compose.yml".
* For Linux, the "network-mode" can be either "host" or "bridge" in "docker-compose.yml"

See Also

Docker Documentation
HOWTO : Install docker-ce and nvidia-docker2 on Ubuntu 18.04.2 and Kali Linux 2019.1
CUDA Compatibility of NVIDIA Display / GPU Drivers