Search Preview
Accessing an HTTP API running on your MacBook in a Docker container from your iPhone/iPad using dnsmasq | Alexander Zeitler
alexanderzeitler.com.com > alexanderzeitler.com
SEO audit: Content analysis
Language | Error! No language localisation is found. | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Title | Accessing an HTTP API running on your MacBook in a Docker container from your iPhone/iPad using dnsmasq | Alexander Zeitler | ||||||||||||||||||||||||||||||||||||
Text / HTML ratio | 49 % | ||||||||||||||||||||||||||||||||||||
Frame | Excellent! The website does not use iFrame solutions. | ||||||||||||||||||||||||||||||||||||
Flash | Excellent! The website does not have any flash contents. | ||||||||||||||||||||||||||||||||||||
Keywords cloud | dnsmasq \ DNS device Docker container iOS DHCP run running server local IP SSL point etchosts macOS machines file MacBook | ||||||||||||||||||||||||||||||||||||
Keywords consistency |
|
||||||||||||||||||||||||||||||||||||
Headings |
|
||||||||||||||||||||||||||||||||||||
Images | We found 4 images on this web page. |
SEO Keywords (Single)
Keyword | Occurrence | Density |
---|---|---|
dnsmasq | 11 | 0.55 % |
\ | 9 | 0.45 % |
DNS | 8 | 0.40 % |
device | 6 | 0.30 % |
Docker | 6 | 0.30 % |
container | 6 | 0.30 % |
iOS | 5 | 0.25 % |
DHCP | 5 | 0.25 % |
run | 4 | 0.20 % |
running | 4 | 0.20 % |
server | 3 | 0.15 % |
local | 3 | 0.15 % |
IP | 3 | 0.15 % |
SSL | 3 | 0.15 % |
point | 3 | 0.15 % |
etchosts | 3 | 0.15 % |
macOS | 3 | 0.15 % |
machines | 3 | 0.15 % |
file | 3 | 0.15 % |
MacBook | 3 | 0.15 % |
SEO Keywords (Two Word)
Keyword | Occurrence | Density |
---|---|---|
Docker container | 5 | 0.25 % |
iOS device | 4 | 0.20 % |
to point | 3 | 0.15 % |
in a | 3 | 0.15 % |
in the | 3 | 0.15 % |
is to | 3 | 0.15 % |
the DNS | 3 | 0.15 % |
MacBook Pro | 2 | 0.10 % |
running in | 2 | 0.10 % |
in Docker | 2 | 0.10 % |
point to | 2 | 0.10 % |
macOS device | 2 | 0.10 % |
DNS The | 2 | 0.10 % |
to 19216817864 | 2 | 0.10 % |
has to | 2 | 0.10 % |
device has | 2 | 0.10 % |
on the | 2 | 0.10 % |
the iOS | 2 | 0.10 % |
step is | 2 | 0.10 % |
having IP | 2 | 0.10 % |
SEO Keywords (Three Word)
Keyword | Occurrence | Density | Possible Spam |
---|---|---|---|
to point to | 2 | 0.10 % | No |
on the iOS | 2 | 0.10 % | No |
a Docker container | 2 | 0.10 % | No |
in a Docker | 2 | 0.10 % | No |
step is to | 2 | 0.10 % | No |
has to point | 2 | 0.10 % | No |
device has to | 2 | 0.10 % | No |
browse to httplocalhost5380 | 1 | 0.05 % | No |
Just browse to | 1 | 0.05 % | No |
correctly Just browse | 1 | 0.05 % | No |
your hosts file | 1 | 0.05 % | No |
hooked up correctly | 1 | 0.05 % | No |
got hooked up | 1 | 0.05 % | No |
to httplocalhost5380 and | 1 | 0.05 % | No |
file got hooked | 1 | 0.05 % | No |
hosts file got | 1 | 0.05 % | No |
up correctly Just | 1 | 0.05 % | No |
where you can | 1 | 0.05 % | No |
verify your hosts | 1 | 0.05 % | No |
can verify your | 1 | 0.05 % | No |
SEO Keywords (Four Word)
Keyword | Occurrence | Density | Possible Spam |
---|---|---|---|
device has to point | 2 | 0.10 % | No |
has to point to | 2 | 0.10 % | No |
in a Docker container | 2 | 0.10 % | No |
Toggle navigation Home Feed | 1 | 0.05 % | No |
file got hooked up | 1 | 0.05 % | No |
the credentials foo and | 1 | 0.05 % | No |
enter the credentials foo | 1 | 0.05 % | No |
and enter the credentials | 1 | 0.05 % | No |
httplocalhost5380 and enter the | 1 | 0.05 % | No |
to httplocalhost5380 and enter | 1 | 0.05 % | No |
browse to httplocalhost5380 and | 1 | 0.05 % | No |
Just browse to httplocalhost5380 | 1 | 0.05 % | No |
correctly Just browse to | 1 | 0.05 % | No |
up correctly Just browse | 1 | 0.05 % | No |
hooked up correctly Just | 1 | 0.05 % | No |
got hooked up correctly | 1 | 0.05 % | No |
your hosts file got | 1 | 0.05 % | No |
hosts file got hooked | 1 | 0.05 % | No |
foo and bar from | 1 | 0.05 % | No |
verify your hosts file | 1 | 0.05 % | No |
Internal links in - alexanderzeitler.com
Fixing Chrome 58+ [missing_subjectAltName] with openssl when using self signed certificates | Alexander Zeitler
Accessing an HTTP API running on your MacBook in a Docker container from your iPhone/iPad using dnsmasq | Alexander Zeitler
Deploying Ubuntu Mate Desktop as a developer environment in a Azure VM | Alexander Zeitler
Deploying Ubuntu Mate Desktop as a developer environment in AWS EC2 | Alexander Zeitler
Debugging mocha tests in a Docker container using Visual Studio Code | Alexander Zeitler
Debugging mocha tests with Visual Studio Code when Node.js is installed using nvm | Alexander Zeitler
Debugging a ES6 Node.js application in a Docker container using Visual Studio Code | Alexander Zeitler
Some thoughts on Open Source Software | Alexander Zeitler
Resizing a VMware Workstation VM partition using GParted - get the swap partition out of my way! | Alexander Zeitler
Workflows: using Docker Machine and Docker Compose together in development | Alexander Zeitler
Chrome crashes on Ubuntu in VMware Workstation | Alexander Zeitler
Rename Visual Studio project including files, folders and namespaces | Alexander Zeitler
A lap around AWS and docker-machine | Alexander Zeitler
Integration-testing ASP.NET 5 / MVC 6 Controllers on DNX Beta 4 | Alexander Zeitler
Deploying a ASP.NET MVC 6 API as Azure API App in Azure App Services | Alexander Zeitler
lowerCamelCase JSON with ASP.NET MVC 6 | Alexander Zeitler
Running ASP.NET 5 Beta 4 in Docker with DNX runtime #aspnet5 #docker | Alexander Zeitler
Stop complaining or improve yourself | Alexander Zeitler
#NodeJS / #ExpressJS: Adding routes dynamically at runtime | Alexander Zeitler
mongoose: Referencing schema in properties or arrays | Alexander Zeitler
MongoDB development environment journal size management using mongoctl | Alexander Zeitler
Farewell... | Alexander Zeitler
Inspecting AngularJS $scope using Firebug and Chrome Developer Tools | Alexander Zeitler
Useful @Brackets extensions for Web Developers | Alexander Zeitler
.NET User Group Karlsruhe: StreamInsight: Complex Event Processing by Microsoft | Alexander Zeitler
“Commit all must be called when a managed buffer has focus” in Microsoft SQL Server Data Tools | Alexander Zeitler
.NET User Group Karlsruhe: Git | Alexander Zeitler
Open Source Windows 8 App: Sprudelsuche | Alexander Zeitler
Open Source– Scheissegal? | Alexander Zeitler
Lowercase JSON with ASP.NET Web API | Alexander Zeitler
.NET Usergroup Karlsruhe: Think Big – Entwicklung skalierbarer Anwendungen mit Windows Azure | Alexander Zeitler
ASP.NET Web API and RavenDb | Alexander Zeitler
ASP.NET Web API Round-Up Slides | Alexander Zeitler
ASP.NET MVC 4 public beta including ASP.NET Web API | Alexander Zeitler
Hash Bang Urls in Single Page Applications mit ASP.NET MVC | Alexander Zeitler
.NET User Group Karlsruhe: Know your Tools | Alexander Zeitler
Git flow init liefert: flags: FATAL unable to determine getopt version unter Cygwin | Alexander Zeitler
Using JsonValue and JsonArray in WCF Web API | Alexander Zeitler
.NET User Group Karlsruhe: PowerShell 3.. 2.. 1.. | Alexander Zeitler
What’s new in WCF Web API Preview 5 – introducing the test client | Alexander Zeitler
Externe Templates in KnockoutJS laden | Alexander Zeitler
WCF Web API: Role based access control with basic authentication | Alexander Zeitler
.NET User Group Karlsruhe: Produce Cleaner Code with Aspect-Oriented Programming (AOP) | Alexander Zeitler
REST using the WCF Web API – POST it! | Alexander Zeitler
REST using the WCF Web API – getting more RESTful responses (Part 5) | Alexander Zeitler
TypeLoadException when mocking COM objects - Could not load type … from assembly. The type is marked… | Alexander Zeitler
REST using the WCF Web API – getting RESTful the BDD way (Part 4) | Alexander Zeitler
REST using the WCF Web API – refactoring to IoC style (Part 3) | Alexander Zeitler
REST using the WCF Web API – Basics (Part2) | Alexander Zeitler
Microsoft Web API – the REST is done by WCF (Part 1) | Alexander Zeitler
Microsoft Web API – den REST macht WCF (Teil 1) | Alexander Zeitler
.NET User Group Karlsruhe: Flexible Softwarearchitekturen mit Inversion of Control (IoC) | Alexander Zeitler
machine.fakes ReSharper Templates | Alexander Zeitler
CreateCert.cmd aus dem Windows Azure Platform Training Kit funktioniert nicht | Alexander Zeitler
JSON via jQuery direkt an einen ASP.NET MVC 3 Controller senden | Alexander Zeitler
POSTing Json data using the HttpClient from WCF Web API | Alexander Zeitler
Using the new WCF Web APIs HttpClient with ASP.NET Forms Authentication | Alexander Zeitler
Keyboard Jedi unter x64 | Alexander Zeitler
Using WCF Web APIs / WCF Http with ASP.NET Forms Authentication | Alexander Zeitler
WCF Web APIs / WCF Http mit ASP.NET Forms Authentication verwenden | Alexander Zeitler
ILSpy – Open Source .NET Assembly Browser und Decompiler | Alexander Zeitler
Alexanderzeitler.com Spined HTML
Accessing an HTTP API running on your MacBook in a Docker container from your iPhone/iPad using dnsmasq | Alexander Zeitler Toggle navigation Home Feed Accessing an HTTP API running on your MacBook in a Docker container from your iPhone/iPad using dnsmasq Written on April 23, 2017 Please consider the pursuit scenario: On my MacBook Pro I want to wangle a web using (SPA/PWA) and an API both running in Docker containers overdue flipside nginx Docker container (reverse proxy managing SSL) from an iOS device. So I have: 1 iOS device having IP 192.168.178.77 1 MacBook Pro having IP 192.168.178.64 1 Docker container running nginx having two server_name settings: app.dev and api.dev, both using self-signed SSL certificates. The challenge: the're no option in the local Router to point DNS entries to 192.168.178.64. /etc/hosts has these entries: 192.168.178.64 app.dev 192.168.178.64 api.dev The easiest solution I've found is to use dnsmasq running in a Docker container. So what is dnsmasq? Dnsmasq is a lightweight, easy to configure, DNS forwarder and DHCP server. It is designed to provide DNS and optionally, DHCP, to a small network. It can serve the names of local machines which are not in the global DNS. The DHCP server integrates with the DNS server and allows machines with DHCP-allocated addresses to towards in the DNS with names configured either in each host or in a inside configuration file. Dnsmasq supports static and dynamic DHCP leases and BOOTP/TFTP for network booting of diskless machines source In order to start dnsmasq in Docker container, simply run this command: docker run \ --name dnsmasq \ -d \ -p 53:53/udp \ -p 5380:8080 \ -v /opt/dnsmasq.conf:/etc/dnsmasq.conf \ --log-opt "max-size=100m" \ -e "USER=foo" \ -e "PASS=bar" \ jpillora/dnsmasq This will run dnsmasq mapping a configuration from /opt/dnsmasq.conf into the container. Make sure /opt/dnsmsq.conf at least contains this line: address=/dev/192.168.178.64 This will route all traffic to *.dev to 192.168.178.64. dnsmasq will moreover inspect your local /etc/hosts file and route traffic appropriately. It moreover provides a simple UI where you can verify your hosts file got hooked up correctly: Just scan to http://localhost:5380 and enter the credentials foo and bar from the docker run writ above. The UI output should squint like this: [webproc] 2017/04/23 18:35:54 loaded config files changes from disk [webproc] 2017/04/23 18:35:54 wage-earner listening on http://0.0.0.0:8080... dnsmasq: started, version 2.76 cachesize 150 dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth no-DNSSEC loop-detect inotify dnsmasq: reading /etc/resolv.conf dnsmasq: using nameserver 192.168.65.1#53 dnsmasq: read /etc/hosts - 7 addresses The next step is to update the DNS settings on the iOS and macOS devices.The iOS device has to point to the IP write of the macOS device: The macOS device has to point to itself: Click "Advanced...", then select "DNS": The last step is to undeniability the https://app.dev and https://api.dev URIs on the iOS device and personize the SSL warnings. Other solutions to this seem to be http://xip.io/ or http://nip.io/ but I didn't try them... Happy developing! Please enable JavaScript to view the comments powered by Disqus. Copyright © Alexander Zeitler 2003 - 2016 | Impressum