Skip to content

Commit 3680810

Browse files
committed
Remove /dev/shm from docs, defaulting to shm-size
1 parent 77db00c commit 3680810

9 files changed

+52
-73
lines changed

README.md

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ https://www.selenium.dev/support/
3131
1. Start a Docker container with Firefox
3232

3333
``` bash
34-
$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-firefox:4.0.0-rc-1-prerelease-20210618
35-
# OR
36-
$ docker run -d -p 4444:4444 -p 7900:7900 -v /dev/shm:/dev/shm selenium/standalone-firefox:4.0.0-rc-1-prerelease-20210618
34+
$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.0.0-rc-1-prerelease-20210618
3735
```
3836

3937
2. Point your WebDriver tests to http://localhost:4444 *
@@ -46,8 +44,8 @@ $ docker run -d -p 4444:4444 -p 7900:7900 -v /dev/shm:/dev/shm selenium/standalo
4644

4745
More details about visualising the container activity, check the [Debugging](#debugging) section.
4846

49-
:point_up: When executing `docker run` for an image that contains a browser please either mount
50-
`-v /dev/shm:/dev/shm` or use the flag `--shm-size=2g` to use the host's shared memory.
47+
:point_up: When executing `docker run` for an image that contains a browser please use
48+
the flag `--shm-size=2g` to use the host's shared memory.
5149

5250
:point_up: Always use a Docker image with a full tag to pin a specific browser and Grid version.
5351
See [Tagging Conventions](https://github.com/SeleniumHQ/docker-selenium/wiki/Tagging-Convention) for details.
@@ -60,17 +58,17 @@ ___
6058

6159
![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox
6260
``` bash
63-
$ docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-firefox:4.0.0-rc-1-prerelease-20210618
61+
$ docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.0.0-rc-1-prerelease-20210618
6462
```
6563

6664
![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome
6765
``` bash
68-
$ docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-chrome:4.0.0-rc-1-prerelease-20210618
66+
$ docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.0.0-rc-1-prerelease-20210618
6967
```
7068

7169
![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Microsoft Edge
7270
``` bash
73-
$ docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-edge:4.0.0-rc-1-prerelease-20210618
71+
$ docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.0.0-rc-1-prerelease-20210618
7472
```
7573

7674
_Note: Only one Standalone container can run on port_ `4444` _at the same time._
@@ -89,19 +87,19 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_
8987
$ docker network create grid
9088
$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.0.0-rc-1-prerelease-20210618
9189
$ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \
90+
--shm-size="2g" \
9291
-e SE_EVENT_BUS_PUBLISH_PORT=4442 \
9392
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
94-
-v /dev/shm:/dev/shm \
9593
selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
9694
$ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \
95+
--shm-size="2g" \
9796
-e SE_EVENT_BUS_PUBLISH_PORT=4442 \
9897
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
99-
-v /dev/shm:/dev/shm \
10098
selenium/node-edge:4.0.0-rc-1-prerelease-20210618
10199
$ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \
100+
--shm-size="2g" \
102101
-e SE_EVENT_BUS_PUBLISH_PORT=4442 \
103102
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
104-
-v /dev/shm:/dev/shm \
105103
selenium/node-firefox:4.0.0-rc-1-prerelease-20210618
106104
```
107105

@@ -123,34 +121,34 @@ $ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.0.0-rc
123121

124122
Node Chrome - Machine/VM 2
125123
``` bash
126-
$ docker run -d -p 5555:5555
124+
$ docker run -d -p 5555:5555 \
125+
--shm-size="2g" \
127126
-e SE_EVENT_BUS_HOST=<ip-from-machine-1> \
128127
-e SE_EVENT_BUS_PUBLISH_PORT=4442 \
129128
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
130129
-e SE_NODE_HOST=<ip-from-machine-2> \
131-
-v /dev/shm:/dev/shm \
132130
selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
133131
```
134132

135133
Node Edge - Machine/VM 3
136134
``` bash
137-
$ docker run -d -p 5555:5555
135+
$ docker run -d -p 5555:5555 \
136+
--shm-size="2g" \
138137
-e SE_EVENT_BUS_HOST=<ip-from-machine-1> \
139138
-e SE_EVENT_BUS_PUBLISH_PORT=4442 \
140139
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
141140
-e SE_NODE_HOST=<ip-from-machine-3> \
142-
-v /dev/shm:/dev/shm \
143141
selenium/node-edge:4.0.0-rc-1-prerelease-20210618
144142
```
145143

146144
Node Firefox - Machine/VM 4
147145
``` bash
148-
$ docker run -d -p 5555:5555
146+
$ docker run -d -p 5555:5555 \
147+
--shm-size="2g" \
149148
-e SE_EVENT_BUS_HOST=<ip-from-machine-1> \
150149
-e SE_EVENT_BUS_PUBLISH_PORT=4442 \
151150
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
152151
-e SE_NODE_HOST=<ip-from-machine-4> \
153-
-v /dev/shm:/dev/shm \
154152
selenium/node-firefox:4.0.0-rc-1-prerelease-20210618
155153
```
156154

@@ -209,7 +207,7 @@ This example shows how to start the containers manually:
209207

210208
``` bash
211209
$ docker network create grid
212-
$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium -v /dev/shm:/dev/shm selenium/standalone-chrome:4.0.0-rc-1-prerelease-20210618
210+
$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.0.0-rc-1-prerelease-20210618
213211
$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20210618
214212
# Run your tests
215213
$ docker stop video && docker rm video
@@ -376,7 +374,7 @@ variables.
376374
Here is an example with the default values of these environment variables:
377375

378376
```bash
379-
$ docker run -d --e SE_EVENT_BUS_HOST=<event_bus_ip|event_bus_name> -e SE_EVENT_BUS_PUBLISH_PORT=4442 -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -v /dev/shm:/dev/shm selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
377+
$ docker run -d -e SE_EVENT_BUS_HOST=<event_bus_ip|event_bus_name> -e SE_EVENT_BUS_PUBLISH_PORT=4442 -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 --shm-size="2g" selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
380378
```
381379

382380
### Setting Screen Resolution
@@ -421,7 +419,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t
421419
(or any other value than `true`), for example:
422420

423421
``` bash
424-
$ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false -v /dev/shm:/dev/shm selenium/node-chrome
422+
$ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome
425423
```
426424

427425
For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567).
@@ -513,9 +511,9 @@ $ docker run -d -p 4444:4444 --net grid --name selenium-hub \
513511
--health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \
514512
--health-interval=15s --health-timeout=30s --health-retries=5 \
515513
selenium/hub:4.0.0-rc-1-prerelease-20210618
516-
$ docker run -d --net grid -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
517-
$ docker run -d --net grid -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-edge:4.0.0-rc-1-prerelease-20210618
518-
$ docker run -d --net grid -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-firefox:4.0.0-rc-1-prerelease-20210618
514+
$ docker run -d --net grid -e HUB_HOST=selenium-hub --shm-size="2g" selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
515+
$ docker run -d --net grid -e HUB_HOST=selenium-hub --shm-size="2g" selenium/node-edge:4.0.0-rc-1-prerelease-20210618
516+
$ docker run -d --net grid -e HUB_HOST=selenium-hub --shm-size="2g" selenium/node-firefox:4.0.0-rc-1-prerelease-20210618
519517
```
520518
**Note:** The `\` line delimiter won't work on Windows based terminals, try either `^` or a backtick.
521519

@@ -581,9 +579,9 @@ You can override it with the `VNC_PORT` environment variable in case you want to
581579

582580
Here is an example with the standalone images, the same concept applies to the node images.
583581
``` bash
584-
$ docker run -d -p 4444:4444 -p 5900:5900 -v /dev/shm:/dev/shm selenium/standalone-chrome:4.0.0-rc-1-prerelease-20210618
585-
$ docker run -d -p 4444:4444 -p 5901:5900 -v /dev/shm:/dev/shm selenium/standalone-edge:4.0.0-rc-1-prerelease-20210618
586-
$ docker run -d -p 4445:4444 -p 5902:5900 -v /dev/shm:/dev/shm selenium/standalone-firefox:4.0.0-rc-1-prerelease-20210618
582+
$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.0.0-rc-1-prerelease-20210618
583+
$ docker run -d -p 4444:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.0.0-rc-1-prerelease-20210618
584+
$ docker run -d -p 4445:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.0.0-rc-1-prerelease-20210618
587585
```
588586

589587
Then, you would use in your VNC client:
@@ -616,9 +614,9 @@ Similarly to the previous section, feel free to map port 7900 to any free extern
616614

617615
Here is an example with the standalone images, the same concept applies to the node images.
618616
``` bash
619-
$ docker run -d -p 4444:4444 -p 7900:7900 -v /dev/shm:/dev/shm selenium/standalone-chrome:4.0.0-rc-1-prerelease-20210618
620-
$ docker run -d -p 4444:4444 -p 7901:7900 -v /dev/shm:/dev/shm selenium/standalone-edge:4.0.0-rc-1-prerelease-20210618
621-
$ docker run -d -p 4445:4444 -p 7902:7900 -v /dev/shm:/dev/shm selenium/standalone-firefox:4.0.0-rc-1-prerelease-20210618
617+
$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.0.0-rc-1-prerelease-20210618
618+
$ docker run -d -p 4444:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.0.0-rc-1-prerelease-20210618
619+
$ docker run -d -p 4445:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.0.0-rc-1-prerelease-20210618
622620
```
623621

624622
Then, you would use in your browser:
@@ -642,13 +640,13 @@ You can increase the log output by passing environment variable to the container
642640
SE_OPTS="--log-level FINE"
643641
```
644642

645-
### `-v /dev/shm:/dev/shm` or `--shm-size 2g`
643+
### `--shm-size="2g"`
646644

647-
Why is `-v /dev/shm:/dev/shm` or `--shm-size 2g` necessary?
645+
Why is `--shm-size 2g` necessary?
648646
> This is a known workaround to avoid the browser crashing inside a docker container, here are the documented issues for
649647
[Chrome](https://code.google.com/p/chromium/issues/detail?id=519952) and [Firefox](https://bugzilla.mozilla.org/show_bug.cgi?id=1338771#c10).
650648
The shm size of 2gb is arbitrary but known to work well, your specific use case might need a different value, it is recommended
651-
to tune this value according to your needs. Along the examples `-v /dev/shm:/dev/shm` will be used, but both are known to work.
649+
to tune this value according to your needs.
652650

653651

654652
### Headless

docker-compose-v2.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ version: '2'
55
services:
66
chrome:
77
image: selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
8-
volumes:
9-
- /dev/shm:/dev/shm
8+
shm_size: 2gb
109
depends_on:
1110
- selenium-hub
1211
environment:
@@ -18,8 +17,7 @@ services:
1817

1918
edge:
2019
image: selenium/node-edge:4.0.0-rc-1-prerelease-20210618
21-
volumes:
22-
- /dev/shm:/dev/shm
20+
shm_size: 2gb
2321
depends_on:
2422
- selenium-hub
2523
environment:
@@ -31,8 +29,7 @@ services:
3129

3230
firefox:
3331
image: selenium/node-firefox:4.0.0-rc-1-prerelease-20210618
34-
volumes:
35-
- /dev/shm:/dev/shm
32+
shm_size: 2gb
3633
depends_on:
3734
- selenium-hub
3835
environment:

docker-compose-v3-full-grid-dev.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ services:
8282

8383
chrome:
8484
image: selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
85+
shm_size: 2gb
8586
volumes:
8687
- ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar
87-
- /dev/shm:/dev/shm
8888
depends_on:
8989
- selenium-event-bus
9090
environment:
@@ -96,9 +96,9 @@ services:
9696

9797
edge:
9898
image: selenium/node-edge:4.0.0-rc-1-prerelease-20210618
99+
shm_size: 2gb
99100
volumes:
100101
- ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar
101-
- /dev/shm:/dev/shm
102102
depends_on:
103103
- selenium-event-bus
104104
environment:
@@ -110,9 +110,9 @@ services:
110110

111111
firefox:
112112
image: selenium/node-firefox:4.0.0-rc-1-prerelease-20210618
113+
shm_size: 2gb
113114
volumes:
114115
- ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar
115-
- /dev/shm:/dev/shm
116116
depends_on:
117117
- selenium-event-bus
118118
environment:

docker-compose-v3-full-grid-swarm.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ version: '3.7'
88
services:
99
chrome:
1010
image: selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
11-
volumes:
12-
- /dev/shm:/dev/shm
11+
shm_size: 2gb
1312
environment:
1413
- SE_EVENT_BUS_HOST=selenium-hub
1514
- SE_EVENT_BUS_PUBLISH_PORT=4442
@@ -20,8 +19,7 @@ services:
2019

2120
edge:
2221
image: selenium/node-edge:4.0.0-rc-1-prerelease-20210618
23-
volumes:
24-
- /dev/shm:/dev/shm
22+
shm_size: 2gb
2523
environment:
2624
- SE_EVENT_BUS_HOST=selenium-hub
2725
- SE_EVENT_BUS_PUBLISH_PORT=4442
@@ -32,8 +30,7 @@ services:
3230

3331
firefox:
3432
image: selenium/node-firefox:4.0.0-rc-1-prerelease-20210618
35-
volumes:
36-
- /dev/shm:/dev/shm
33+
shm_size: 2gb
3734
environment:
3835
- SE_EVENT_BUS_HOST=selenium-hub
3936
- SE_EVENT_BUS_PUBLISH_PORT=4442

docker-compose-v3-full-grid.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,7 @@ services:
7272

7373
chrome:
7474
image: selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
75-
volumes:
76-
- /dev/shm:/dev/shm
75+
shm_size: 2gb
7776
depends_on:
7877
- selenium-event-bus
7978
environment:
@@ -85,8 +84,7 @@ services:
8584

8685
edge:
8786
image: selenium/node-edge:4.0.0-rc-1-prerelease-20210618
88-
volumes:
89-
- /dev/shm:/dev/shm
87+
shm_size: 2gb
9088
depends_on:
9189
- selenium-event-bus
9290
environment:
@@ -98,8 +96,7 @@ services:
9896

9997
firefox:
10098
image: selenium/node-firefox:4.0.0-rc-1-prerelease-20210618
101-
volumes:
102-
- /dev/shm:/dev/shm
99+
shm_size: 2gb
103100
depends_on:
104101
- selenium-event-bus
105102
environment:

docker-compose-v3-swarm.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ version: '3.7'
88
services:
99
chrome:
1010
image: selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
11-
volumes:
12-
- /dev/shm:/dev/shm
11+
shm_size: 2gb
1312
environment:
1413
- SE_EVENT_BUS_HOST=selenium-hub
1514
- SE_EVENT_BUS_PUBLISH_PORT=4442
@@ -20,8 +19,7 @@ services:
2019

2120
edge:
2221
image: selenium/node-edge:4.0.0-rc-1-prerelease-20210618
23-
volumes:
24-
- /dev/shm:/dev/shm
22+
shm_size: 2gb
2523
environment:
2624
- SE_EVENT_BUS_HOST=selenium-hub
2725
- SE_EVENT_BUS_PUBLISH_PORT=4442
@@ -32,8 +30,7 @@ services:
3230

3331
firefox:
3432
image: selenium/node-firefox:4.0.0-rc-1-prerelease-20210618
35-
volumes:
36-
- /dev/shm:/dev/shm
33+
shm_size: 2gb
3734
environment:
3835
- SE_EVENT_BUS_HOST=selenium-hub
3936
- SE_EVENT_BUS_PUBLISH_PORT=4442

docker-compose-v3-video.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ version: "3"
55
services:
66
chrome:
77
image: selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
8-
volumes:
9-
- /dev/shm:/dev/shm
8+
shm_size: 2gb
109
depends_on:
1110
- selenium-hub
1211
environment:
@@ -18,8 +17,7 @@ services:
1817

1918
edge:
2019
image: selenium/node-edge:4.0.0-rc-1-prerelease-20210618
21-
volumes:
22-
- /dev/shm:/dev/shm
20+
shm_size: 2gb
2321
depends_on:
2422
- selenium-hub
2523
environment:
@@ -31,8 +29,7 @@ services:
3129

3230
firefox:
3331
image: selenium/node-firefox:4.0.0-rc-1-prerelease-20210618
34-
volumes:
35-
- /dev/shm:/dev/shm
32+
shm_size: 2gb
3633
depends_on:
3734
- selenium-hub
3835
environment:

0 commit comments

Comments
 (0)