Handling data when deploying several Docker application containers

ساخت وبلاگ

Vote count: -1

What is the preferred way to handle data when deploying several application containers (same application) to multiple servers?

Docker's documentation says:

Multiple containers can also share one or more data volumes. However, multiple containers writing to a single shared volume can cause data corruption. Make sure your applications are designed to write to shared data stores.

It's not entirely clear to me. Does the above apply also to application files?

When deploying an application to several servers, would the solution be to clone data into each of the application container and mark the target directory as a volume - this way each data container has an independent volume that essentially contains the same files (application files), something like (each on different host):

$ docker run -d -v /srv/data/www --name app1 my/application bash -c "cd /srv/data/www && git clone <my_app>"
$ docker run -d -v /srv/data/www --name app2 my/application bash -c "cd /srv/data/www && git clone <my_app>"
$ docker run -d -v /srv/data/www --name app3 my/application bash -c "cd /srv/data/www && git clone <my_app>"

and then:

Or is it OK to mount application files across many app containers from a single, shared data volume container and have each application container read application files from one source, something like (each on different host):

$ docker run -d --volumes-from appdata --name app1 my/application
$ docker run -d --volumes-from appdata --name app2 my/application
$ docker run -d --volumes-from appdata --name app3 my/application
asked 2 mins ago

- - , .

back soft...
ما را در سایت back soft دنبال می کنید

برچسب : نویسنده : استخدام کار backsoft بازدید : 235 تاريخ : جمعه 14 اسفند 1394 ساعت: 15:45