Docker Community Forums

Share and learn in the Docker community.

USB Serial Device

Hi!

N00b to the docker world!

Issue type: USB Serial Arduino
OS: Ubuntu Server 19.04
Kernel: Linux 5.0.0-20-generic
Hardware: Running on VMWare Fusion on macOS v10.14.5

Docker Version:
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.4
Git commit: e68fc7a
Built: Tue May 7 17:57:34 2019
OS/Arch: linux/amd64
Experimental: false

Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.4
Git commit: e68fc7a
Built: Tue May 7 17:57:34 2019
OS/Arch: linux/amd64
Experimental: false

I have created a Docker Image using a Docker File, I would like to passthrough a USB Serial Arduino device to the docker image. I have been adding the following to my docker run command:

docker run -it --env PLATFORMIO_AUTH_TOKEN="{redacted}" mycontainers.azurecr.io/platformio-agent:v1 --device=/dev/ttyACM0

I also tried:

docker run -it --env PLATFORMIO_AUTH_TOKEN="{redacted}" mycontainers.azurecr.io/platformio-agent:v1 --device=/dev/bus/usb/002/005:/dev/ttyACM0

But always get the following error:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused “exec: “–device=/dev/bus/usb/002/005”: stat --device=/dev/bus/usb/002/005: no such file or directory”: unknown.

I have tried to change the privs for testing on /dev/ttyACM0 to 777 but still the same error.

Any help much appreciated!

Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

--device is option.

1 Like

This may be as simple as placement of your

–device=

flags. Typically, the container image and an optional command line are the last items in a

docker run

command line. Like so:

docker run -it --device=X image_location/image_name cmd_line

would be the most common syntax.

For reference, see https://docs.docker.com/engine/reference/commandline/run/ for the command line syntax.

1 Like

Ahh so simple… totally overlooked that!

Thanks!