loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@centos8 ~]#
查看Docker的版本信息:
[root@centos8 ~]# docker -v
Docker version 20.10.21, build baeda1f
[root@centos8 ~]#
查看Docker的相关信息:
[root@centos8 ~]# docker info
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.9.1-docker)
scan: Docker Scan (Docker Inc., v0.21.0)
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 20.10.21
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: a05d175400b1145e5e6a735a6710579d181e7fb0
runc version: v1.1.4-0-g5fd4c4d
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 4.18.0-193.el8.x86_64
Operating System: CentOS Linux 8 (Core)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.758GiB
Name: centos8.zhuohua.store
ID: E7QB:RF46:TK7K:ECJK:FSAU:ADU5:Z4LE:XQ4C:HTD2:KVQU:KDBJ:BHYF
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
[root@centos8 ~]#
注释:Docker的镜像、容器默认是存放在目录/var/lib/docker下
###
修改Docker的镜像、容器默认的存放目录:
[root@centos8 ~]# find / -name "docker.service"
/sys/fs/cgroup/cpu,cpuacct/system.slice/docker.service
/sys/fs/cgroup/blkio/system.slice/docker.service
/sys/fs/cgroup/memory/system.slice/docker.service
/sys/fs/cgroup/devices/system.slice/docker.service
/sys/fs/cgroup/pids/system.slice/docker.service
/sys/fs/cgroup/systemd/system.slice/docker.service
/usr/lib/systemd/system/docker.service
[root@centos8 ~]#
[root@centos8 ~]# vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
修改为:
ExecStart=/usr/bin/dockerd --graph="/data1/docker"
注释:新目录/data1/docker不存在的话,会自动创建的。
重启宿主机,使更改生效:
[root@centos8 ~]# reboot
宿主机重启后,查看Docker的相关信息:
[root@centos8 ~]# docker info
Docker Root Dir: /data1/docker
注释:现在Docker的镜像、容器默认是存放在目录/data1/docker下
[root@centos8 ~]# ls /data1/docker/
buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes
[root@centos8 ~]#
[root@centos8 ~]# ls /var/lib/docker/
buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes
[root@centos8 ~]#
可以删除旧目录/var/lib/docker:
[root@centos8 ~]# rm -rf /var/lib/docker
[root@centos8 ~]#
###
从公网下载镜像:( 以下是下载Nginx/1.12的镜像 )
[root@centos8 ~]# docker pull nginx:1.12
1.12: Pulling from library/nginx
f2aa67a397c4: Pull complete
e3eaf3d87fe0: Pull complete
38cb13c1e4c9: Pull complete
Digest: sha256:72daaf46f11cc753c4eab981cbf869919bd1fee3d2170a2adeac12400f494728
Status: Downloaded newer image for nginx:1.12
docker.io/library/nginx:1.12
[root@centos8 ~]#
查看宿主机的所有镜像:
[root@centos8 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.12 4037a5562b03 4 years ago 108MB
[root@centos8 ~]#
使用镜像“nginx:1.12”创建并启动容器“Nginx_01”:
[root@centos8 ~]# docker run -itd --name Nginx_01 -p 80:80 nginx:1.12
d33fdaa570fc42d19cffe596159474c5a01b274d7384542f9cb9ad0661c44c79
[root@centos8 ~]#
注释:
-itd : 以交互模式情况下后台运行。
--name : 指定容器名称。
-p 端口映射 : 第一个80是宿主机的端口,暴露给外部直接访问;第二个80是容器的端口。
nginx:1.12 : 镜像名称:版本号
在宿主机查看正在运行的容器:
[root@centos8 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d33fdaa570fc nginx:1.12 "nginx -g 'daemon of…" About a minute ago Up About a minute 0.0.0.0:80->80/tcp, :::80->80/tcp Nginx_01
[root@centos8 ~]#
注释:宿主机的TCP 80端口,映射到容器“Nginx_01”的TCP 80端口。
在宿主机的防火墙firewalld打开TCP 80端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
查看防火墙所有打开的端口:
[root@centos8 ~]# firewall-cmd --zone=public --list-ports
80/tcp
在客户端访问容器“Nginx_01”的默认站点:
http://192.168.168.154:80/
注释:此时,外面的客户端访问宿主机的TCP 80端口时,等于访问容器“Nginx_01”的TCP 80端口。
###
进入容器“Nginx_01”:
[root@centos8 ~]# docker exec -it Nginx_01 /bin/bash
root@d33fdaa570fc:/#
查看容器“Nginx_01”的系统版本信息:
root@d33fdaa570fc:/# cat /etc/issue
Debian GNU/Linux 9 \n \l
root@d33fdaa570fc:/# more /etc/debian_version
9.4
root@d33fdaa570fc:/# uname -r
4.18.0-193.el8.x86_64
root@d33fdaa570fc:/#
查看容器“Nginx_01”的Nginx版本:
root@d33fdaa570fc:/# nginx -v
nginx version: nginx/1.12.2
root@d33fdaa570fc:/#
修改容器“Nginx_01”的Nginx的默认首页文件的内容:
root@d33fdaa570fc:/# find / -name index.*
find: '/proc/7/map_files': Permission denied
/usr/share/nginx/html/index.html
root@d33fdaa570fc:/#
root@d33fdaa570fc:~# ls /usr/share/nginx/html
50x.html index.html
root@d33fdaa570fc:~#
root@d33fdaa570fc:/# vi /usr/share/nginx/html/index.html
bash: vi: command not found
root@d33fdaa570fc:/#
root@d33fdaa570fc:/# apt-get update
root@d33fdaa570fc:/# apt-get -y install vim
自定义新内容:
root@d33fdaa570fc:/# cat /usr/share/nginx/html/index.html
Welcome to zhuohua
Welcome to zhuohua!
If you see this page, the nginx web server is successfully installed and
working.
Thank you for using nginx.
再次,在客户端访问容器“Nginx_01”的默认站点:
http://192.168.168.154/
注释:不指定端口时,默认就是使用TCP 80端口。
###
容器“Nginx_01”在宿主机的存放目录:
[root@centos8 ~]# cd /data1/docker
[root@centos8 docker]# ls
buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes
[root@centos8 docker]#
[root@centos8 docker]# cd containers/
[root@centos8 containers]# ls
d33fdaa570fc42d19cffe596159474c5a01b274d7384542f9cb9ad0661c44c79
[root@centos8 containers]#
[root@centos8 containers]# pwd
/data1/docker/containers
[root@centos8 containers]#
[root@centos8 containers]# cd d33fdaa570fc42d19cffe596159474c5a01b274d7384542f9cb9ad0661c44c79/
[root@centos8 d33fdaa570fc42d19cffe596159474c5a01b274d7384542f9cb9ad0661c44c79]# ls
checkpoints hostconfig.json mounts
config.v2.json hostname resolv.conf
d33fdaa570fc42d19cffe596159474c5a01b274d7384542f9cb9ad0661c44c79-json.log hosts resolv.conf.hash
[root@centos8 d33fdaa570fc42d19cffe596159474c5a01b274d7384542f9cb9ad0661c44c79]#
容器“Nginx_01”的文件config.v2.json中的一些信息:
容器ID : "Config":{"Hostname":"d33fdaa570fc",
端口映射 :
"Ports":{"80/tcp":[{"HostIp":"0.0.0.0","HostPort":"80"},{"HostIp":"::","HostPort":"80"}]},
######
宿主机的Nginx版本:
[root@centos8 ~]# nginx -v
nginx version: nginx/1.14.1
[root@centos8 ~]#
宿主机的Nginx的主配置文件:
[root@centos8 ~]# cat /etc/nginx/nginx.conf
重新自定义了Nginx的默认站点的TCP端口:
server {
listen 81 default_server;
listen [::]:81 default_server;
server_name _;
root /usr/share/nginx/html;
保存文件退出后,重启Nginx服务:
[root@centos8 ~]# systemctl restart nginx
[root@centos8 ~]#
在宿主机的防火墙firewalld打开TCP 81端口:
firewall-cmd --zone=public --add-port=81/tcp --permanent
firewall-cmd --reload
再次,查看防火墙所有打开的端口:
[root@centos8 ~]# firewall-cmd --zone=public --list-ports
80/tcp 81/tcp
###
在宿主机中,把容器“Nginx_01”的目录/usr/share/nginx/html复制到宿主机的目录/home下:
[root@centos8 ~]# docker cp Nginx_01:/usr/share/nginx/html /home
[root@centos8 ~]#
[root@centos8 ~]# ls /home/
html
[root@centos8 ~]# ls /home/html/
50x.html index.html
[root@centos8 ~]#
重新自定义宿主机的Nginx的默认首页文件的内容:
[root@centos8 ~]# mv -f /home/html/index.html /usr/share/nginx/html/index.html
[root@centos8 ~]#
[root@centos8 ~]# cat /usr/share/nginx/html/index.html
Welcome to zhuohua
Welcome to zhuohua!
这是宿主机的Nginx。
Thank you for using nginx.
[root@centos8 ~]#
注释:
加上 才能在浏览器里正常显示中文。
在客户端访问宿主机的默认站点:( 要使用TCP 81端口 )
http://192.168.168.154:81/
######
在容器“Nginx_01”的Nginx中配置反向代理到宿主机的默认站点:
修改容器“Nginx_01”的Nginx的主配置文件:
root@d33fdaa570fc:~# find / -name 'nginx.conf'
/etc/nginx/nginx.conf
find: '/proc/7/map_files': Permission denied
root@d33fdaa570fc:~#
root@d33fdaa570fc:~# vi /etc/nginx/nginx.conf
插入:
server {
location / {
proxy_pass http://192.168.168.154:81;
}
}
如下图:
在宿主机重启容器“Nginx_01”:
[root@centos8 ~]# docker restart Nginx_01
Nginx_01
[root@centos8 ~]#
再次,在客户端访问容器“Nginx_01”的默认站点:
http://192.168.168.154/
注释:此时,外面的客户端访问宿主机的TCP 80端口时,等于访问容器“Nginx_01”的TCP 80端口,也等于访问宿主机的TCP 81端口。
######
在宿主机的Nginx中创建两个基于域名的虚拟主机:
创建一个虚拟主机配置文件:( discuz.zhuohua.store )
[root@centos8 ~]# cat /etc/nginx/vhost/discuz.zhuohua.store.conf
server
{
listen 81; #此虚拟主机的TCP端口
server_name discuz.zhuohua.store;
index index.html index.htm index.php;
root /wwwroot/discuz.zhuohua.store;
include /etc/nginx/default.d/*.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log off;
}
[root@centos8 ~]#
创建虚拟主机的网站文件存放目录:
[root@centos8 ~]# mkdir -p /wwwroot/discuz.zhuohua.store
创建虚拟主机的默认首页文件:
[root@centos8 ~]# echo 'discuz.zhuohua.store' > /wwwroot/discuz.zhuohua.store/index.html
再创建一个虚拟主机配置文件:( bbs.zhuohua.store )
[root@centos8 ~]# cat /etc/nginx/vhost/bbs.zhuohua.store.conf
server
{
listen 81; #此虚拟主机的TCP端口
server_name bbs.zhuohua.store b.zhuohua.store;
index index.html index.htm index.php;
root /wwwroot/bbs.zhuohua.store;
include /etc/nginx/default.d/*.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log off;
}
[root@centos8 ~]#
创建虚拟主机的站点文件存放目录:
[root@centos8 ~]# mkdir -p /wwwroot/bbs.zhuohua.store
创建虚拟主机的默认首页文件:
[root@centos8 ~]#echo 'bbs.zhuohua.store' > /wwwroot/bbs.zhuohua.store/index.htm
编辑Nginx的主配置文件:
[root@centos8 ~]# vi /etc/nginx/nginx.conf
在文件最后那个大括号 } 上面插入以下代码:
include vhost/*.conf; ##在目录/etc/nginx/vhost/下的.conf文件都会被加载
如下图:
重启Nginx服务:
[root@centos8 ~]# systemctl restart nginx
[root@centos8 ~]#
Window客户端访问宿主机的两个基于域名的虚拟主机:(在没有DNS服务器解析域名的情况下,可以在文件hosts里绑定)
http://discuz.zhuohua.store:81/
http://bbs.zhuohua.store:81/
http://b.zhuohua.store:81/
######
在容器“Nginx_01”的Nginx中配置反向代理到宿主机基于域名的虚拟主机:
修改容器“Nginx_01”的Nginx的主配置文件:
root@d33fdaa570fc:~# vi /etc/nginx/nginx.conf
插入:
upstream webservers_1{
ip_hash;
server 192.168.168.154:81;
}
server {
listen 80; #容器“Nginx_01”的Nginx的端口
server_name discuz.zhuohua.store;
location / {
proxy_pass http://webservers_1;
proxy_set_header Host $http_host;
}
}
upstream webservers_2{
ip_hash;
server 192.168.168.154:81;
}
server {
listen 80; ##容器“Nginx_01”的Nginx的端口
server_name bbs.zhuohua.store b.zhuohua.store;
location / {
proxy_pass http://webservers_2;
proxy_set_header Host $http_host;
}
}
如下图:
注释:此时,外面的客户端访问Nginx的TCP 80端口时,等于访问192.168.168.154的TCP 81端口,并且区分了域名。
在宿主机重启容器“Nginx_01”:
[root@centos8 ~]# docker restart Nginx_01
Nginx_01
[root@centos8 ~]#
让容器“Nginx_01”随宿主机的启动而启动:(默认是不会随宿主机的启动而启动)
[root@centos8 ~]# docker update --restart=always Nginx_01
Nginx_01
[root@centos8 ~]#
Window客户端进行访问:
http://discuz.zhuohua.store/
http://bbs.zhuohua.store/
http://b.zhuohua.store/
注释:此时,外面的客户端访问容器“Nginx_01”的基于域名的虚拟主机时,等于访问宿主机的基于域名的虚拟主机。
######
在宿主机中,把容器“Nginx_01”的文件/usr/share/nginx/html/50x.html复制到宿主机的目录/home下:
[root@centos8 ~]# docker cp Nginx_01:/usr/share/nginx/html/50x.html /home
[root@centos8 ~]#
[root@centos8 ~]# ls /home/
50x.html html
[root@centos8 ~]#
在宿主机中,把宿主机的文件/usr/share/nginx/html/nginx-logo.png复制到容器“Nginx_01”的目录/root下:
[root@centos8 ~]# docker cp /usr/share/nginx/html/nginx-logo.png Nginx_01:/root
[root@centos8 ~]#
在宿主机中,把宿主机的目录/usr/share/nginx/html复制到容器“Nginx_01”的目录/var下:
[root@centos8 ~]# docker cp /usr/share/nginx/html Nginx_01:/var
[root@centos8 ~]#
相关文章:
CentOS8_使用Docker安装Python3
CentOS8_在Docker中安装LAMP
CentOS8_在Docker中安装LAMP(使用参数--link)
CentOS8_在Docker中安装LNMP(使用参数--link)
CentOS8_在Docker中安装LNMP
CentOS8_在Docker中安装vsftpd
CentOS8_在Docker中安装Samba
CentOS8_在Docker中安装Nagios
CentOS8_在Docker的容器内自动启动服务
CentOS8_在Docker中安装Oracle11gR2
CentOS8_在Docker中安装Oracle19c
CentOS6_Nginx反向代理+基于域名的虚拟主机
CentOS8_Nginx基于域名的虚拟主机+代理虚拟主机
图片附件: 图片1.png (2022-12-24 19:37, 90.51 KB) / 下载次数 21
http://blog.zhuohua.store/attachment.php?aid=22132&k=2b8dc948bcc905a3e35f91a2bd57489e&t=1714285269&sid=55GH2A
图片附件: 图片2.png (2022-12-24 19:40, 67.28 KB) / 下载次数 20
http://blog.zhuohua.store/attachment.php?aid=22133&k=99d490aea528aec99dfd5b91c4a0d300&t=1714285269&sid=55GH2A
图片附件: 图片3.png (2022-12-24 19:44, 42.49 KB) / 下载次数 16
http://blog.zhuohua.store/attachment.php?aid=22134&k=15eb8320d0c807e47f9972a637549bab&t=1714285269&sid=55GH2A
图片附件: 图片4.png (2022-12-24 19:45, 105.09 KB) / 下载次数 14
http://blog.zhuohua.store/attachment.php?aid=22135&k=17b0d80013111548b61474e6ade74d5e&t=1714285269&sid=55GH2A
图片附件: 图片5.png (2022-12-24 19:46, 43.68 KB) / 下载次数 15
http://blog.zhuohua.store/attachment.php?aid=22136&k=edfda56a8dc8056fe1ba8c88f7a75c46&t=1714285269&sid=55GH2A
图片附件: 图片6.png (2022-12-24 19:49, 9.94 KB) / 下载次数 11
http://blog.zhuohua.store/attachment.php?aid=22137&k=a0813348ce42055abc3aa0469ef6f9d7&t=1714285269&sid=55GH2A
图片附件: 图片7.png (2022-12-24 19:49, 85.27 KB) / 下载次数 12
http://blog.zhuohua.store/attachment.php?aid=22138&k=0fda6e2560524b52e37503b66b89b541&t=1714285269&sid=55GH2A
图片附件: 图片8.png (2022-12-24 19:50, 27.33 KB) / 下载次数 15
http://blog.zhuohua.store/attachment.php?aid=22139&k=74ad678c9e5339de31334ad895197e36&t=1714285269&sid=55GH2A
图片附件: 图片9.png (2022-12-24 19:50, 26.72 KB) / 下载次数 14
http://blog.zhuohua.store/attachment.php?aid=22140&k=c0314fa660654a8ce02edb0f8de39e08&t=1714285269&sid=55GH2A
图片附件: 图片10.png (2022-12-24 19:50, 25.74 KB) / 下载次数 14
http://blog.zhuohua.store/attachment.php?aid=22141&k=03edf7820895b3d48fd9950ba3d87911&t=1714285269&sid=55GH2A
图片附件: 图片11.png (2022-12-24 19:52, 133.21 KB) / 下载次数 16
http://blog.zhuohua.store/attachment.php?aid=22142&k=24cb5b4c00ccad34527db985d0895daa&t=1714285269&sid=55GH2A
图片附件: 图片12.png (2022-12-24 19:52, 67.15 KB) / 下载次数 12
http://blog.zhuohua.store/attachment.php?aid=22143&k=673805c40ede19cb5d4943b16598fe30&t=1714285269&sid=55GH2A
图片附件: 图片13.png (2022-12-24 19:53, 25.47 KB) / 下载次数 15
http://blog.zhuohua.store/attachment.php?aid=22144&k=3ca59ae3889c90c704942f4fc6bf8d2d&t=1714285269&sid=55GH2A
图片附件: 图片14.png (2022-12-24 19:54, 24.12 KB) / 下载次数 14
http://blog.zhuohua.store/attachment.php?aid=22145&k=6926279ccf5d7992947bee5f1aa62a52&t=1714285269&sid=55GH2A
图片附件: 图片15.png (2022-12-24 19:54, 24.81 KB) / 下载次数 16
http://blog.zhuohua.store/attachment.php?aid=22146&k=98025816ec6e966f3e0382aa1950f162&t=1714285269&sid=55GH2A
欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) |
Powered by Discuz! 7.2 |