Several problems were discovered during the use of Docker. Network requests in Docker often failed, such as npm install and bundle install operations. Or, as an intermediate layer, the process of obtaining API data in the application often resulted in timeouts. Therefore, we began to explore the network mechanism of Docker to solve the problem of slow network requests. 1. Docker network mode 1. none When configured as none, the Docker container network cannot have input or output and is isolated from the world. 2. Bridge 3. Host 4. Container 2. Docker DNS resolution The Docker container is essentially a Linux, so the DNS resolution method is the same as Linux, and the priority is to find the /etc/hosts file. Domain names such as localhost are written in this file, for example: 127.0.0.1 localhost If the docker container links other containers, there will be an additional linked domain name, for example: docker run --name app --link app-redis:redis -d ubuntu There will be more in hosts 172.17.0.3 app-redis 038c8388e4a1 After finding the /etc/hosts file, then the /etc/resolv.conf file: domain local nameserver 192.168.65.1 nameserver 192.168.65.10 3. Solve the problem of slow network requests in docker containers After packet capture and other analysis, it was found that the slow network request mainly occurred in DNS resolution, so DNS optimization was mainly adopted: If the request is for your own intranet API, you can directly modify the /etc/hosts file. If the request is for an external network, you can change the nameserver in /etc/resolv.conf. The docker container is definitely not implemented directly by modifying files, but can be implemented through the run command: # Add host docker run --name app --add-host='api.embbnux.com:10.98.10.98' -d ubuntu # Specify DNS server docker run --name app --dns=223.5.5.5 --dns=8.8.8.8 -d ubuntu In this way, the DNS resolution time in the Docker container is accelerated. The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: CentOS 6.4 MySQL 5.7.18 installation and configuration method graphic tutorial
>>: React implements a highly adaptive virtual list
For what I am going to write today, the program r...
<br />Related articles: 9 practical suggesti...
Table of contents Saltstack deploys zabbix servic...
Based on Vue and native javascript encapsulation,...
Table of contents Complex query and step-by-step ...
Table of contents Preface 1. Application componen...
background A few days ago, when I was doing pagin...
The frame and rules attributes of the table tag c...
Table of contents 2. Detailed explanation 2.1. Ad...
Format Encoding 1. Please set the page width with...
If your web application runs on only one machine,...
Preface When a Linux is fully set up, you can use...
In a word: if you buy a cloud server from any maj...
Add table fields alter table table1 add transacto...
What is MIME TYPE? 1. First, we need to understand...