# Problems running via docker-compose

**URL:** <https://discuss.elastic.co/t/problems-running-via-docker-compose/147124>\
**Category:** Elasticsearch\
**Created:** [September 4, 2018, 1:14am UTC](https://discuss.elastic.co/t/problems-running-via-docker-compose/147124 "2018-09-04T01:14:00Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![vgoklani](https://avatars.discourse-cdn.com/v4/letter/v/eb9ed0/32.png) [@vgoklani](https://discuss.elastic.co/u/vgoklani)\
**Post date:** [September 4, 2018, 1:14am UTC](https://discuss.elastic.co/t/problems-running-via-docker-compose/147124/1 "2018-09-04T01:14:00Z")

</div>

Hello - could you please review my docker-compose file, as I'm getting a ton of errors.

docker-compose file:

```
version: '2'

services:
    elasticsearch:
      container_name: elasticsearch
      restart: always
      image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2
      ports:
        - "127.0.0.1:8200:9200"
        - "127.0.0.1:8300:9300"
      volumes:
        - /opt_docker/data/elasticsearch:/usr/share/elasticsearch/data
        - /opt_docker/log/elasticsearch:/usr/share/elasticsearch/logs
      env_file:
        - ./environment
      environment:
        - client_id=elasticsearch
        - MACHINE_NAME=${HOSTNAME}
        - bootstrap.memory_lock=true
        - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
        - discovery.type=single-node
      ulimits:
        memlock:
          soft: -1
          hard: -1
      depends_on:
      mem_limit: 8192m

```

errors:

```
	[2018-09-03T23:13:59,324][INFO][o.e.n.Node] [] initializing ...
	[2018-09-03T23:13:59,375][WARN][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
	org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Failed to create node environment
		at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.3.2.jar:6.3.2]
		at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.3.2.jar:6.3.2]
		at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.3.2.jar:6.3.2]
	Caused by: java.lang.IllegalStateException: Failed to create node environment
		at org.elasticsearch.node.Node.<init>(Node.java:273) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.node.Node.<init>(Node.java:252) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:213) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.3.2.jar:6.3.2]
		... 6 more
	Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
		at sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) ~[?:?]
		at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]
		at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) ~[?:?]
		at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:385) ~[?:?]
		at java.nio.file.Files.createDirectory(Files.java:682) ~[?:?]
		at java.nio.file.Files.createAndCheckIsDirectory(Files.java:789) ~[?:?]
		at java.nio.file.Files.createDirectories(Files.java:775) ~[?:?]
		at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:203) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.node.Node.<init>(Node.java:270) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.node.Node.<init>(Node.java:252) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:213) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[elasticsearch-6.3.2.jar:6.3.2]
		at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.3.2.jar:6.3.2]
		... 6 more
```

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [September 4, 2018, 1:49am UTC](https://discuss.elastic.co/t/problems-running-via-docker-compose/147124/2 "2018-09-04T01:49:43Z")

</div>

Most likely your volume is not writable from the container?

---

<div class="post-metadata">

**Author:** ![vgoklani](https://avatars.discourse-cdn.com/v4/letter/v/eb9ed0/32.png) [@vgoklani](https://discuss.elastic.co/u/vgoklani)\
**Post date:** [September 4, 2018, 2:01am UTC](https://discuss.elastic.co/t/problems-running-via-docker-compose/147124/3 "2018-09-04T02:01:46Z")

</div>

why wouldn't the volume be writable from the container?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [September 4, 2018, 4:56am UTC](https://discuss.elastic.co/t/problems-running-via-docker-compose/147124/4 "2018-09-04T04:56:20Z")

</div>

I don't know. But

```auto
Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes

```

Seems to indicate that.

---

<div class="post-metadata">

**Author:** ![vgoklani](https://avatars.discourse-cdn.com/v4/letter/v/eb9ed0/32.png) [@vgoklani](https://discuss.elastic.co/u/vgoklani)\
**Post date:** [September 4, 2018, 5:10am UTC](https://discuss.elastic.co/t/problems-running-via-docker-compose/147124/5 "2018-09-04T05:10:29Z")

</div>

is there a standard fix? What pattern should one follow for pulling down the container, and then persisting the volume container? It seems like everyone that pulls down the container and tries to persist the data will run into this problem.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [September 4, 2018, 6:22am UTC](https://discuss.elastic.co/t/problems-running-via-docker-compose/147124/6 "2018-09-04T06:22:32Z")

</div>

Did you check who is the owner of `/opt_docker/data/elasticsearch` dir?

---

<div class="post-metadata">

**Author:** ![vgoklani](https://avatars.discourse-cdn.com/v4/letter/v/eb9ed0/32.png) [@vgoklani](https://discuss.elastic.co/u/vgoklani)\
**Post date:** [September 4, 2018, 6:35am UTC](https://discuss.elastic.co/t/problems-running-via-docker-compose/147124/7 "2018-09-04T06:35:26Z")

</div>

it is owned by root, the elasticsearch user only exists in the docker container

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [September 4, 2018, 6:47am UTC](https://discuss.elastic.co/t/problems-running-via-docker-compose/147124/8 "2018-09-04T06:47:47Z")

</div>

But does Docker runs as root? I'm not super familiar with Docker though.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 2, 2018, 6:47am UTC](https://discuss.elastic.co/t/problems-running-via-docker-compose/147124/9 "2018-10-02T06:47:51Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
