Skip to content

Commit

Permalink
added virtualenv for docker
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewssobral committed Mar 4, 2023
1 parent 615c7d7 commit 64e7875
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 0 deletions.
1 change: 1 addition & 0 deletions build/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
*
# Except these files
!.gitignore
!.uninstall-from-cmake.sh
3 changes: 3 additions & 0 deletions virtualenv-build-test-publish.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ python -m pip install wheel
python -m pip install numpy
python -m pip install opencv-python

# Remove any existing build directory
rm -rf build/*

# Build and install the package using the setup.py script
python setup.py build
python setup.py install
Expand Down
43 changes: 43 additions & 0 deletions virtualenv-on-docker.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# For Linux users
#
# OpenCV 4.6.0
# https://github.com/andrewssobral/docker/blob/master/bgslibrary/opencv_4.6.0py38/Dockerfile
DOCKER_IMAGE=andrewssobral/bgslibrary:opencv_4.6.0py38
#
# OpenCV 3.4.16
# https://github.com/andrewssobral/docker/blob/master/bgslibrary/opencv_3.4.16py38/Dockerfile
DOCKER_IMAGE=andrewssobral/bgslibrary:opencv_3.4.16py38
#
# OpenCV 3.4.7
# https://github.com/andrewssobral/docker/blob/master/bgslibrary/opencv_3.4.7py38/Dockerfile
DOCKER_IMAGE=andrewssobral/bgslibrary:opencv_3.4.7py38

docker run -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY $DOCKER_IMAGE bash

# For Mac users
#
# X11 forwarding on macOS and docker
# https://gist.github.com/andrewssobral/7a5924c475ff936247f237f35d2e3cd7
#
# Or
#
# To run a Docker container on Mac with display support, you need to use XQuartz, a free and open-source software that provides an X11 window system for macOS.
# Here are the steps you need to follow:
# Install XQuartz: Download and install XQuartz from the official website (https://www.xquartz.org/).
# Enable XQuartz: Open XQuartz and go to XQuartz > Preferences > Security. Make sure that the “Allow connections from network clients” option is checked.
# Install socat: Install socat using Homebrew. Run the following command in the Terminal:
brew install socat
# Run socat: Run socat in the Terminal to forward X11 connections from the Docker container to XQuartz. Run the following command:
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
# To check the tcp ports that are listenning
sudo lsof -i -P | grep LISTEN | grep :$PORT
# Start the Docker container: Start the Docker container with the following command:
docker run -e DISPLAY=host.docker.internal:0 <image-name>
# Replace <image-name> with the name of the Docker image you want to run.
# Test the display support: Test the display support by running a graphical application inside the Docker container. For example, you can run xclock or xeyes.
# e.g:
docker run -it --rm -e DISPLAY=host.docker.internal:0 $DOCKER_IMAGE bash
python -m pip install --upgrade pip
apt update && apt install x11-apps
xclock
xeyes

0 comments on commit 64e7875

Please sign in to comment.