目录
3.Docker run -v 的 rw 和 ro 模式有哪些区别
一、实验
1.环境
(1)主机
表1 主机
系统 | 架构 | 版本 | IP | 备注 |
Linux | openEuler | 22.03 LTS SP2 | 192.168.204.145(动态) 192.168.204.141(静态) 192.168.204.142(静态) | |
docker | 25.0.3 | |||
docker-compose | 2.24.5 | |||
dashdot | 5.8.3 | |||
cpolar (客户端) | 3.12 | 服务器端 3.22 |
(2)查看系统版本
[root@localhost ~]# cat /etc/os-release
(3) 查看网络ip
[root@localhost ~]# ip addr
(4) 查看docker版本
[root@localhost ~]# docker --version
(5)检查docker compose版本
[root@localhost ~]# docker compose version
(6)查看docker进程
[root@localhost ~]# docker ps
2.OpenEuler 部署 DashDot
(1)官网
https://github.com/MauriceNino/dashdot
最新版为5.8.3
(2)拉取DashDot镜像
[root@localhost ~]# docker pull mauricenino/dashdot
查看镜像
[root@localhost ~]# docker images | head -1 ;docker images | grep dashdot
REPOSITORY TAG IMAGE ID CREATED SIZE
mauricenino/dashdot latest 955efb8c44bf 8 weeks ago 212MB
(3)创建部署目录
[root@localhost ~]# mkdir -p /data/dashdot
[root@localhost ~]# cd /data/dashdot
(4)编辑docker-compose.yaml文件
[root@localhost dashdot]# vim docker-compose.yaml
version: '3.9'
services:
dashdot:
image: mauricenino/dashdot
restart: always
container_name: dashdot
environment:
- TZ=Asia/Shanghai
ports:
- 8987:3001
volumes:
- /etc/os-release:/etc/os-release:ro
- /proc/1/ns/net:/mnt/host_ns_net:ro
privileged: true
(5)使用docker compose方式快速创建Dashdot容器
[root@localhost dashdot]# docker compose up -d
(6)检查Dashdot容器状态
确保Dashdot容器正常启动
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a93c3e5c38d mauricenino/dashdot "docker-entrypoint.s…" 51 seconds ago Up 50 seconds 0.0.0.0:8987->3001/tcp, :::8987->3001/tcp dashdot
(7)检查Dashdot容器运行日志
确保Dashdot服务正常运行
[root@localhost dashdot]# docker compose logs |grep 3001
dashdot | listening on *:3001
dashdot | port: 3001,
(8)本地访问DashDot服务
http://192.168.204.141:8987/
识别出CPU ,内存,硬盘等信息
切换深色模式 (Dark Mode)
CPU 查看所有核心 (Show All Cores)
3.OpenEuler 部署 Cpolar (内网穿透)
(1) 官网
https://www.cpolar.com
(2)一键脚本安装命令
[root@localhost opt]# curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 21833 100 21833 0 0 24576 0 --:--:-- --:--:-- --:--:-- 24559
info: Installing Cpolar 3.3.12 for x86_64
Downloading Cpolar archive: http://static.cpolar.com/downloads/releases/3.3.12/cpolar-stable-linux-amd64.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7249k 100 7249k 0 0 8527k 0 --:--:-- --:--:-- --:--:-- 8518k
info: Extract the Cpolar package to /tmp/tmp.ky6mXG8BCO and prepare it for installation.
Downloading Cpolar demo config file: http://static.cpolar.com/downloads/cpolar.demo.yml
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 186 100 186 0 0 4641 0 --:--:-- --:--:-- --:--:-- 4769
Downloading Cpolar service config file: http://static.cpolar.com/downloads/cpolar.service
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 384 100 384 0 0 9944 0 --:--:-- --:--:-- --:--:-- 10105
Downloading Cpolar service@ config file: http://static.cpolar.com/downloads/cpolar@.service
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 380 100 380 0 0 8500 0 --:--:-- --:--:-- --:--:-- 8636
rm: 无法删除 '/etc/systemd/system/cpolar.service.d/10-donot_touch_multi_conf.conf': No such file or directory
rm: 无法删除 '/etc/systemd/system/cpolar@.service.d/10-donot_touch_multi_conf.conf': No such file or directory
info: Systemd service files have been installed successfully!
warning: The following are the actual parameters for the cpolar service startup.
warning: Please make sure the configuration file path is correctly set.
# /etc/systemd/system/cpolar.service
[Unit]
Description=Cpolar Service
Documentation=https://www.cpolar.com/docs
After=network.target nss-lookup.target
[Service]
User=nobody
NoNewPrivileges=true
ExecStart=/usr/local/bin/cpolar start-all -dashboard=on -daemon=on -config=/usr/local/etc/cpolar/cpolar.yml -log=/var/log/cpolar/access.log
Restart=on-failure
RestartPreventExitStatus=23
[Install]
WantedBy=multi-user.target
installed: /usr/local/bin/cpolar
installed link: /usr/bin/cpolar
installed: /usr/local/etc/cpolar/cpolar.yml
installed: /var/log/cpolar/
installed: /var/log/cpolar/access.log
installed: /var/log/cpolar/error.log
installed: /etc/systemd/system/cpolar.service
installed: /etc/systemd/system/cpolar@.service
removed: /tmp/tmp.ky6mXG8BCO
info: Cpolar 3.3.12 is installed.
You may need to execute a command to remove dependent software: dnf remove curl unzip
Please execute the command: systemctl enable cpolar; systemctl start cpolar
(3)开机自启
[root@localhost opt]# sudo systemctl enable cpolar
(4)启动cpolar服务
[root@localhost opt]# sudo systemctl start cpolar
(5) 监听服务端口
[root@localhost ~]# netstat -antlp
[root@localhost ~]# netstat -antlp | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 39747/cpolar: worke
(6)浏览器访问
http://localhost:9200
登录仪表盘 (输入注册的账号密码)
(7)配置DashDot公网地址
隧道名称:可自定义命名,注意不要与已有的隧道名称重复
协议:选择http
本地地址:8987 (本地访问的地址)
域名类型:免费选择随机域名
地区:选择China Top
(8)查看隧道列表
(9)在线隧道列表
查看所生成的公网访问地址,有两种访问方式,一种是http 和https
1)http
http://40da23df.r2.cpolar.top
2) https
https://40da23df.r2.cpolar.top
(10)使用Cpolar https公网地址 访问
这里的地址是随机的,24小时会发生变化,主机重启也会变化
https://40da23df.r2.cpolar.top
4.固定DashDot公网地址
(1)官网
https://dashboard.cpolar.com/reserved
(2)设置
保留
(3)重启主机
这时主机地址依然可访问
原随机访问地址已失效
查看在线隧道列表(随机地址已更新)
(4)编辑隧道列表
更新
1)域名类型
选择二级子域名
2)Sub Domain
填写保留成功的二级子域名
(5)查看在线隧道列表
随机地址已更新为固定的二级子域名名称的域名
1)http
http://dashdot.vip.cpolar.cn
2) https
https://dashdot.vip.cpolar.cn
(6)访问固定的公网https地址
https://dashdot.vip.cpolar.cn
重启主机后观察(初始流量比较大)
二、问题
1.privileged参数作用
(1)作用
大约在0.6版,privileged被引入docker。
使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。
privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
甚至允许你在docker容器中启动docker容器。
2.使用docker-cli如何创建DashDot容器
(1)命令
docker run -d \
-p 8987:3001 \
-v /etc/os-release:/etc/os-release:ro \
-v /proc/1/ns/net:/mnt/host_ns_net:ro \
--privileged \
mauricenino/dashdot
3.Docker run -v 的 rw 和 ro 模式有哪些区别
(1)区别
1)不指定(默认)
权限同rw
2)ro
文件:容器内不能修改,会提示read-only
文件夹:容器内不能修改、新增、删除文件夹中的文件,会提示read-only
3)rw
文件:不管是宿主机还是容器内修改,都会相互同步;但容器内不允许删除,会提示Device or resource busy;宿主机删除文件,容器内的不会被同步
文件夹:不管是宿主机还是容器内修改、新增、删除文件,都会相互同步
4.Cpolar 作用
(1)作用
1)内网穿透
内网穿透是一种网络技术,可以让外部计算机访问内部网络,解决家庭或者公司内部网络无法从公网访问的问题。它的原理是通过将内部网络的数据流量“穿透”到公网上,使得外部计算机可以访问内部网络中的设备。
2)cpolar
使用cpolar内网穿透工具,实现在公网上监测服务器、网站、应用等,异地来监测自己的服务器,并防止网站被攻击,