When I use the docker pack for an application, how should I configure network addresses?
Should I setup network address with the Tarantool Cartridge application with docker?
162 Views Asked by Андрей Привалов At
1
There are 1 best solutions below
Related Questions in LUA
- lua udp not working between computers
- Guitar Hero-like Timing Mechanic
- Call download lua script in app
- Erlang spawning large amounts of C processes
- does redis cluster support transactions ?
- I am writing an IVR using Lua and want to run xml script in between
- How to read a Bunch of files in a directory in lua
- How to pause a Lua script?
- lua 5.2.3 source lstring.c function luaS_resize
- Torch Lua: Why is my gradient descent not optimizing the error?
- How can I convert a character code to a string character in Lua?
- LuaInterface issue with vs 2015 RC project
- Storing Lua callback functions
- Compile Lua Code and store the bytecode in a new file
- Is there something wrong with my onRelease call?
Related Questions in TARANTOOL
- Why I cannot type assert empty interface?
- Connection refused [Tarantool + java client]
- Can I use Tarantool instead of Redis?
- Tarantool Data Modelling Relationships
- tarantool queue attempt to index global 'queue'
- overriding configuration on a running tarantool instance
- How to create sharded-queue tube the right way?
- How to implement default config section for a custom Tarantool Cartridge role?
- delete() from the script and the interpretator gives a different result. Why?
- How to implement pagination for multikey indexes in Tarantool?
- Sending messages to handler function fibers in TCP server
- Can I yield during an transaction in Tarantool?
- How to make a fault tolerant Tarantool cluster
- How to remove a field in Tarantool space?
- Tarantool does not start due to disk write error
Related Questions in CARTRIDGE
- Openshift: Cannot remove php cartridge
- Trouble starting a Mezzanine/Cartridge project on an Ubuntu VPS
- cartridge xml [IMSCC] how to included the H5P file in moodle?
- Using Shopping Cart ID to customize experience
- Django cartridge paypal return url not working
- Unable to use "createdb" in cartridge
- mezzanine and cartridge schemamigration issues
- Mezzanine custom field adding to admin
- django test client always returning 301
- ImportError: cannot import name find_spec when deploying to openshift
- Issues with admin in django
- Issues with checkout process in cartridge
- issues with credit card validation
- link a cartridge SKU to a FormField on a product page
- Mezzanine Cartridge rating form customization?
Related Questions in TARANTOOL-CARTRIDGE
- How to create sharded-queue tube the right way?
- How to implement default config section for a custom Tarantool Cartridge role?
- How to make a fault tolerant Tarantool cluster
- How to remove a field in Tarantool space?
- Cartrige instances.yml file
- Custom response from Tarantool + Nginx
- icu_date gives an error message attempt to index a number value
- Using Tarantool http as Nginx upstream server - got error 13: Permission denied
- Tarantool Cartridge "Memory is highly fragmented" errors
- How can I perform hot reload code in tarantool cartridge?
- How to return the table with tuples of the SELECT()?
- How to use tarantool command <cartridge replicasets join> in docker with multi container?
- Evolving Tarantool instance
- Tarantool cartridge-springdata(spring data for tarantool) does not work when language is kotlin
- Why does my Tarantool Cartridge retrieve data from router instance sometimes?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The logic of network connectivity in tarantool cartridge doesn't depend on whether you use regular virtual machines, or Docker. You need your tarantool instances to be able to reach each other through TCP and UDP.
In Docker it means either:
Setting up containers on the same internal network
And using internal network addresses to connect instances together. By default, instances on the same internal network will be able to reach each other on any tcp/udp ports. If you want multiple machines to share the same internal network, you may configure Docker Swarm, which will give you a so-called "overlay network" that spans multiple machines.
Binding to host's port
When running a container, you can pass
-p 3301:3301/tcp -p 3301:3301/udptodocker run. It will expose a port from container to the external network on the host. Be very careful to always expose a udp port, because otherwise instances won't be able to talk to each other through the gossip protocol.In addition to that, since you change the public address of your instances to be your host's IP and not the internal container's IP, you also need to specify additional parameter that changes the advertise URI of the tarantool instance. You can do that with the following option to
docker run:-e TARANTOOL_ADVERTISE_URI=<your_host_ip>:3301.