Docker Proxy

host.docker.internal 是一个特殊的 DNS 名称,用于在 Docker 容器中访问宿主机的网络服务。这个 DNS 名称只在 Docker for Mac 和 Docker Desktop 等桌面平台上可用,用于解决在容器内部无法直接访问宿主机上的网络服务的问题。 在 Docker for Mac 和 Docker Desktop 等平台上,Docker 会在容器的网络配置中自动添加 host.docker.internal 主机名,并将其映射到宿主机的 IP 地址。因此,在容器内部可以使用 host.docker.internal 主机名来访问宿主机上的网络服务,就好像访问本地主机一样。 使用以下命令启动容器,并将宿主机的 IP 地址和主机名映射到容器内部: docker run --add-host=proxy:<host_ip_address> <image> 在容器中设置http_proxy和https_proxy export http_proxy=http://proxy:<port> export https_proxy=http://proxy:<port> 如果要加宿主机的代理,直接使用host.docker.internal export http_proxy=http://host.docker.internal:<port> export https_proxy=http://host.docker.internal:<port>

April 6, 2023 · homfen

Nginx Reverse Proxy and Cors

后端部署的服务有跨域,可以通过Nginx反向代理解决 nginx配置 将example.com:8888代理到example.com:8088 user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; server { listen 8888; server_name example.com; location / { add_header 'Access-Control-Allow-Origin' "$http_origin"; add_header 'Access-Control-Allow-Credentials' "true"; if ($request_method = "OPTIONS") { add_header 'Access-Control-Max-Age' 86400; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE'; add_header 'Access-Control-Allow-Headers' 'reqid, nid, host, x-real-ip, x-forwarded-ip, event-type, event-id, accept, content-type'; add_header 'Content-Length' 0; add_header 'Content-Type' 'text/plain, charset=utf-8'; return 204; } root /usr/share/nginx/html; index index....

March 23, 2023 · homfen

Docker部署Hadoop

学习Hadoop,首先想到的是用虚拟机,但是虚拟机配置繁琐,而且多个节点占用资源也很大,那就用docker吧 在dockerhub上找了一圈,发现这个还不错: docker pull harisekhon/hadoop:2.9 只是版本最高只有2.9,但是练习应该够了 查看项目可以发现,在根目录下有一个entrypoint.sh文件,作为入口,如果不传任何参数,就会执行初始化,如果传了参数,就会把这个参数作为命令执行 所以我们创建一个容器 docker run -d IMAGE-ID /entrypoint.sh ...

April 3, 2019 · homfen

Docker基本操作

首先安装: # centos 7 yum install docker # centos 6 yum install epel-release yum install docker-io 这里有点要注意的是,必须内核版本3.10以上,才能安装docker ...

April 11, 2018