The docker update from 1.11.x to 1.12.x seems to have broken setns() calls inside container. setns() is used by Chrome for creating a namespaces. I figured this out after reading this SO post
The only solution right now is to run chrome with --no-sandbox but that's way way less than ideal.
Another "solution" is to run the container with --cap-add=SYS_ADMIN -- which is a rather broad thing to do.
Expected behavior
I expect to EITHER have a flag to enable setns() in the container (so that Chrome can run securely), OR allow setns() in docker containers.
Actual behavior
Right now, the whole world is effectively using --no-sandbox to run Chrome in containers.
Seriously.
Steps to reproduce the behavior
- Create a docker container with Chrome in it
- Try to run Chrome
- Try again with --no-sandbox
Output of docker version:
Client:
Version: 1.13.1
API version: 1.26
Go version: go1.8.3
Git commit: 092cba3
Built: Thu Oct 12 22:34:44 2017
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Go version: go1.8.3
Git commit: 092cba3
Built: Thu Oct 12 22:34:44 2017
OS/Arch: linux/amd64
Experimental: false
Output of docker info:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 23
Server Version: 1.13.1
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 23
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f
init version: N/A (expected: 949e6facb77383876aeff8a6944dde66b3089574)
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.13.0-46-generic
Operating System: Ubuntu 17.10
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 7.68 GiB
Name: merc-B250M-D3H
ID: 5VQF:HZG3:ULIM:TQOZ:ITG2:SUGX:HFZ2:QBZH:HJR6:GABW:COXR:CY3E
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
The docker update from 1.11.x to 1.12.x seems to have broken
setns()calls inside container.setns()is used by Chrome for creating a namespaces. I figured this out after reading this SO postThe only solution right now is to run chrome with
--no-sandboxbut that's way way less than ideal.Another "solution" is to run the container with
--cap-add=SYS_ADMIN-- which is a rather broad thing to do.Expected behavior
I expect to EITHER have a flag to enable
setns()in the container (so that Chrome can run securely), OR allowsetns()in docker containers.Actual behavior
Right now, the whole world is effectively using
--no-sandboxto run Chrome in containers.Seriously.
Steps to reproduce the behavior
Output of
docker version:Output of
docker info: