Docker设置代理
(1)国内很多镜像无法访问,因此需要配置代理访问外部镜像,配置方法如下:
[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
yum -y install yum-utils device-mapper-persistent-data lvm2
yum -y install docker-ce
systemctl daemon-reload
(3)重启Docker
[root@dev ~]# systemctl restart docker
[root@dev ~]#
(4)现在可以搜索镜像了
[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)创建实例
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配置文件内容如下:
#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
# 更新系统并清理旧版本 Docker
sudo yum update -y
sudo yum remove docker* -yyum 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)安装历史版本
yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.09.9-3.el7.x86_64.rpm
(3)放开防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent && firewall-cmd --reload