Docker设置代理

(1)国内很多镜像无法访问,因此需要配置代理访问外部镜像,配置方法如下:

json 复制代码
[root@dev ~]# vi /etc/docker/daemon.json 
{
  "iptables": false,
  "data-root": "/home/docker/store",
  "registry-mirrors": ["https://docker.m.daocloud.io",
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud",
    "https://noohub.ru",
    "https://ipv4.mirrors.ustc.edu.cn",
    "https://tivt17e5.mirror.aliyuncs.com"],
  "proxies": {
    "http-proxy": "http://192.168.31.177:7890",
    "https-proxy": "http://192.168.31.177:7890"
  }
}

注意增加如上两个配置和http-proxy和https-proxy

(2)安装Docker

bash 复制代码
yum -y install yum-utils device-mapper-persistent-data lvm2
yum -y install docker-ce
systemctl daemon-reload

(3)重启Docker

bash 复制代码
[root@dev ~]# systemctl restart docker
[root@dev ~]# 

(4)现在可以搜索镜像了

bash 复制代码
[root@dev ~]# docker search nginx
NAME                                     DESCRIPTION                                      STARS     OFFICIAL
nginx                                    Official build of Nginx.                         20812     [OK]
nginx/nginx-ingress                      NGINX and  NGINX Plus Ingress Controllers fo...   107       
nginx/nginx-prometheus-exporter          NGINX Prometheus Exporter for NGINX and NGIN...   50        
nginx/unit                               This repository is retired, use the Docker o...   66        
nginx/nginx-ingress-operator             NGINX Ingress Operator for NGINX and NGINX P...   2         
nginx/nginx-quic-qns                     NGINX QUIC interop                               1         
nginx/nginxaas-loadbalancer-kubernetes                                                    1         
nginx/unit-preview                       Unit preview features                            0         
bitnami/nginx                            Bitnami container image for NGINX                198       
ubuntu/nginx                             Nginx, a high-performance reverse proxy & we...   129       
bitnamicharts/nginx                      Bitnami Helm chart for NGINX Open Source         0         
kasmweb/nginx                            An Nginx image based off nginx:alpine and in...   8         
rancher/nginx                                                                             2         
linuxserver/nginx                        An Nginx container, brought to you by LinuxS...   230       
dtagdevsec/nginx                         T-Pot Nginx                                      0         
paketobuildpacks/nginx                                                                    0         
vmware/nginx                                                                              2         
gluufederation/nginx                      A customized NGINX image containing a consu...   1         
chainguard/nginx                         Build, ship and run secure software with Cha...   4         
intel/nginx                                                                               0         
droidwiki/nginx                                                                           0         
antrea/nginx                             Nginx server used for Antrea e2e testing         0         
circleci/nginx                           This image is for internal use                   2         
docksal/nginx                            Nginx service image for Docksal                  0         
corpusops/nginx                          https://github.com/corpusops/docker-images/      1         
[root@dev ~]# 

(5)创建实例

bash 复制代码
docker run --name nginx --privileged=true --restart=always -d -p 80:80 -v /home/docker/nginx/html:/usr/share/nginx/html:ro nginx:latest

# 带配置文件,注意先新建配置文件/home/docker/nginx/conf/nginx.conf
docker run --name nginx --privileged=true --restart=always -d -p 80:80 -v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -v /home/docker/nginx/html:/usr/share/nginx/html:ro nginx:latest

/home/docker/nginx/conf/nginx.conf配置文件内容如下:

bash 复制代码
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    client_max_body_size 200M;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        #add_header 'Access-Control-Allow-Origin' *;
        #add_header 'Access-Control-Allow-Credentials' 'true';
        #add_header 'Access-Control-Allow-Methods' *;
        #add_header 'Access-Control-Allow-Headers' *;

        location / {
            #root   html;
            root    /usr/share/nginx/html;
            index  index.html index.htm;
        }
        
        location /test {
            proxy_pass http://localhost:82/test/abc/;
        }
        
        location /test/files {
           proxy_pass http://192.168.31.2;
        }

        location /api/ {
            proxy_pass http://192.168.31.2:9001/;
        }
        
        location /test {
            # proxy_pass   http://192.168.31.2:8045;
            if ($arg_token) {
                rewrite ^/test/(.*)$ http://192.168.31.2:8080/test2/$1 permanent;
            }
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    
    # server {
    #     listen       82;
    #     server_name  localhost;
        
    #     location / {
    #         root   html;
    #         index  index.html index.htm;
    #     }

    #     #error_page  404              /404.html;

    #     # redirect server error pages to the static page /50x.html
    #     #
    #     error_page   500 502 503 504  /50x.html;
    #     location = /50x.html {
    #         root   html;
    #     }
    # }
}

其它

(1)移除历史Docker

bash 复制代码
# 更新系统并清理旧版本 Docker
sudo yum update -y
sudo yum remove docker* -y

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker

(2)安装历史版本

bash 复制代码
yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.09.9-3.el7.x86_64.rpm

(3)放开防火墙

bash 复制代码
firewall-cmd --zone=public --add-port=80/tcp --permanent && firewall-cmd --reload
相关推荐
小虾米vivian1 小时前
达梦数据库:同1台服务器如何启动不同版本的DMAP服务
运维·服务器
江湖有缘1 小时前
【Docker项目实战篇】Docker部署PDF查看器PdfDing
docker·eureka·pdf
求真得真2 小时前
Predixy的docker化
运维·docker·容器
珊珊而川2 小时前
docker不用dockerfile
运维·docker·容器
zhcong_4 小时前
LVS+Keepalived高可用群集
linux·运维·lvs
Angel Q.4 小时前
系统是win11+两个ubuntu,ubuntu20.04和ubuntu22.04,想删除ubuntu20.04且不用保留数据
linux·运维·ubuntu
JzjSunshine4 小时前
配置远程无密登陆ubuntu服务器时无法连接问题排查
linux·运维·ubuntu
爱奥尼欧5 小时前
【Linux】环境变量完全解析
linux·运维·服务器
tianfs6 小时前
docker安装和镜像源替换
ubuntu·docker
愚润求学7 小时前
【Linux】mmap文件内存映射
linux·运维·服务器·开发语言·c++