I have an API that exists on an external machine(let's call it: exmachine). The API itself has its own address(let's call it: http://10.10.10.10:8000).
I need use a local Docker container to connect to this external API. I think the best way to do this would be to create an nginx container and have the plug in the API address and machine name into the nginx.conf file. But I am unsure how that would work remotely.
Would anyone know the best method to connect to an external API via Docker? Much appreicated.
Related
I want to setup a local IMAP server within my home network for archiving emails. The server does not need to be accessable via the internet. Therefore I can pass on a secured access via SSL (If this makes it easier). I want to integrate the server in my current docker setup. So the server has to run within a docker container.
I already tried the following containers:
https://hub.docker.com/r/blackflysolutions/dovecot
https://hub.docker.com/r/dovecot/dovecot
https://hub.docker.com/r/mailu/dovecot
https://hub.docker.com/r/mailcow/dovecot
https://hub.docker.com/r/eilandert/dovecot
But i could not get any of them to run. At the same time none of them have a forum or anything where I can put a question. Two of them (mailu/dovecot and mailcow/dovecot) are part of a bigger mailserver package. Which I do not need, I only want a IMAP server to put some email locally. But I tried them anyway.
Does anyone know how to get any of those to run? Or suggest me another stable docker container solution.
I want to use the Azure API Management Service (AMS) to expose the API created with R/Plumber hosted in a Docker container and runs in an Ubuntu machine.
Scenario
With R/Plumber I created some APIs that I want to protect. Then, I created a virtual machine on Azure with Ubuntu and installed Docker. The APIs are in a container that I published on the virtual machine by Docker. I can access them via internet.
On Azure I created an API Management service and added the APIs from the Swagger OpenAPI documentation.
Problem
I want to secure the APIs. I want to expose to the internet only the AMS. Then, my idea was to remove the public IP from the virtual machine and via a virtual network using the internal IPs to connect the API Management Service to the API with the internal IP (http://10.0.1.5:8000).
So, I tried to set a Virtual Network. Clicked on the menu, then External and then on the row, I can select a network. In this virtual network, I have one network interface that is the one the virtual machine is using.
When I save the changes, I have to wait a while and then I receive an error
Failed to connect to management endpoint at azuks-chi-testapi-d1.management.azure-api.net:3443 for a service deployed in a virtual network. Make sure to follow guidance at https://aka.ms/apim-vnet-common-issues.
I read the following documentation but I can't understand how to do what I wanted
Azure API Management - External Type: gateway unable to access resources within the virtual network?
How to use Azure API Management with virtual networks
Is there any how-to to use? Any advice? What are I doing wrong?
Update
I tried to add more Address space in the Virtual network.
One of them (10.0.0.2/24) is delegate for the API Management.
Then, in the Network security group I added the port 3443.
From the API manager I can't reach the server with the internet IP (10.0.2.5). What did I miss?
See common network configuration issues, it lists all dependencies that are expected to be exposed for APIM to work. Make sure that your vnet allows ingress at port 3443 for the subnet where APIM service is located. This configuration must be done on VNET side, not APIM.
I am a beginner in regards to ArangoDB and I am trying to deploy my first project using it. The website is PHP based - what I did is that I created an Arango Docker container on Digital Ocean so that I can access it from the browser with the ipv4 provided. Public access to port 8529 is enabled. Locally, I am able to modify the .config file in order to point to the corresponding ip and I can painlessly retrieve data.
As a hosting provider I am using one.com. When uploading the same files that I am able to run locally on my own domain I get the following error:
["_database":"ArangoDBClient\Connection":private]=> string(7) "_system" } ArangoDBClient\ConnectException: cannot connect to endpoint 'tcp://xxx.xx.xxx.xxx:8529/': Connection timed out
I want to mention that I have also tried out ArangoOasis. No luck with it - I get the same error. Been at it for quite a few weeks - I would very much use some guidance. Even what to do next as I am out of ideas and documentation to read.
I have set up a node.js server and run it in a Docker container.
I am hosting MySQL database on my computer and have the server connected.
I have deployed my website on netlify and it uses REST API to send and retrieve data to the server.
Currently, the API url uses 'http://localhost:4941/api/v1...' When I access the website on the same computer as the database is hosted, I am able to see the data retrieved from the server.
However, when I access the website on another computer (and from a different network), I am not able to see the data obtained from the server.
I have tried using 127.0.0.1 as well as the Docker container's IPAddress of 172.17.0.2 but was unable to solve the problem too.
I expect to be able to use my website from any computers in the world that have access to Internet and be able to send and retrieve data from the server.
So, does the problem lie in the API url of me using localhost? If so, what address should I use instead?
I am using http://freegeoip.net for geo location on my website. To reach higher reliability, I would like to create a local copy of the service on a separate server.
I have set up Docker cloud with Amazon AWS and installed this repository: https://hub.docker.com/r/fiorix/freegeoip/.
If I enter e.g. "curl localhost:8080/json/1.2.3.4" in the Docker terminal, it correctly answers with the location of that IP address.
I now want to integrate this into my website. So far my website source code references the address "//freegeoip.net/json/". By which IP address do I have to replace this to get to my copy on Docker cloud? Thank you!
You have to replace with the address of your Amazon AWS instance or load balancer.