Docker容器与虚拟化技术:OpenEuler 部署 Docker UI
目录
一、实验
1.环境
2.OpenEuler 部署 docker-compose-ui
2.OpenEuler 部署 docker ui
3.使用cpolar内网穿透
二、问题
1.docker run -w 的作用
一、实验
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 | |||
| 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

2.OpenEuler 部署 docker-compose-ui
(1)官网
https://github.com/francescou/docker-compose-ui
版本较老

(2)拉取Docker Compose UI镜像
[root@localhost ~]# docker pull francescou/docker-compose-ui:1.13.0

(3)查看镜像
[root@localhost ~]# docker images| head -1 ; docker images |grep compose

(4)创建部署目录
[root@localhost ~]# mkdir -p /data/compose-ui
[root@localhost ~]# cd /data/compose-ui/
![]()
(5)创建Docker Compose UI容器
docker run -d --restart always --name docker-compose-ui \
-p 5000:5000 \
-w /opt/docker-compose-projects/ \
-v /var/run/docker.sock:/var/run/docker.sock \
francescou/docker-compose-ui:1.13.0

(6) 浏览器访问
http://192.168.204.141:5000

3.OpenEuler 部署 UI For Docker
(1)查看
https://github.com/kevana/ui-for-docker
版本较老

(2)创建Docker UI容器
docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker

(3)访问
http://192.168.204.141:9000/

(4)查看镜像

4.使用cpolar内网穿透
(1)固定二级子域名地址
登录cpolar官网,点击左侧的预留,找到保留二级子域名,为远程服务器连接保留一个固定二级子域名地址

(2)创建隧道
域名类型:选择二级子域名预留的http地址:复制粘贴官网保留成功的地址,dockerui地区选择:China VIP

(3) 查看隧道列表

(4)查看在线隧道列表

(5)二级子域名地址访问
https://dockerui.vip.cpolar.cn

5.OpenEuler 部署 Portainer
(1)官网
https://hub.docker.com/r/portainer/portainer-ce

(2) 下载汉化包
https://github.com/eysp/public/releases/tag/public

(3)拉取镜像
[root@localhost ~]# docker pull portainer/portainer-ce:latest

查看镜像
[root@localhost ~]# docker images| head -1 ; docker images |grep portainer

(4)解压汉化包
创建目录
[root@localhost ~]# cd /data
[root@localhost data]# mkdir portainer
[root@localhost data]# cd portainer/

[root@localhost portainer]# tar -zvxf public-public.tar.gz
[root@localhost portainer]# mv public-public public
[root@localhost portainer]# ls

(5)创建数据卷
[root@localhost portainer]# docker volume create portainer_data[root@localhost portainer]# docker volume ls | grep portainer

(6)创建容器
-name :指定容器名称
-p : 容器端⼝映射到宿主机的端⼝
-v : 将主机⽬录挂载到容器的⽬录
-d :让容器在后台运⾏
docker run -d --restart=always \
--name="portainer" \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
-v /data/portainer/public:/public \
portainer/portainer-ce:latest

(6)查看进程
[root@localhost ~]# docker ps |head -1 ; docker ps |grep portainer

(7)登录
http://192.168.204.141:9000

(8)浏览器访问
如访问失败需要重启容器
http://192.168.204.141:9100/

(9)创建用户

(10)进入系统

(11)开始

(12)首页

二、问题
1.docker run -w 的作用
(1)作用
docker run -w 是 Docker 的一个命令行选项,用于设置容器内工作目录(working directory)的路径。当您启动一个容器时,-w 选项允许您指定容器内初始工作目录,也就是执行后续命令的目录。
(2)命令
例如,如果想要启动一个容器,并希望进入容器后直接处于 /app 目录下,可以使用如下命令:
docker run -w /app -it ubuntu
这里的 -it 选项是交互模式(-i)和分配一个伪终端(-t),使得用户可以与容器进行交互。
如果不使用 -w 选项,Docker 默认会使用 Dockerfile 中指定的 WORKDIR 指令作为工作目录,或者如果 Dockerfile 中也没有指定 WORKDIR,则默认工作目录是根目录 /。
在创建容器时,通过 -w 选项设置工作目录可以帮助您更精确地控制容器内应用程序的运行环境。
2. portainer 启动失败
(1)报错
Your Portainer instance timed out for security purposes. To re-enable your Portainer instance, you will need to restart Portainer.

(2)原因分析
查看日志
[root@localhost data]# docker logs -f 087616769c8d

查看卷
[root@localhost data]# docker volume ls

(3)解决方法
重启
[root@localhost data]# sudo docker restart portainer
![]()
成功:

3. docker volume有哪些命令
(1)命令
Usage: docker volume COMMANDManage volumesCommands:create Create a volumeinspect Display detailed information on one or more volumesls List volumesprune Remove unused local volumesrm Remove one or more volumesupdate Update a volume (cluster volumes only)
相关文章:
Docker容器与虚拟化技术:OpenEuler 部署 Docker UI
目录 一、实验 1.环境 2.OpenEuler 部署 docker-compose-ui 2.OpenEuler 部署 docker ui 3.使用cpolar内网穿透 二、问题 1.docker run -w 的作用 一、实验 1.环境 (1)主机 表1 主机 系统架构版本IP备注LinuxopenEuler22.03 LTS SP2 192.168…...
328——二维矩阵值变为1最小操作次数 next、nextInt、nextLine
一、next、nextInt、nextLine区别 1.next() next()不光是接收键盘输入的内容,而且还进行分割。例如默认分隔符为空格 Scanner sc new Scanner(System.in);while (true){String str sc.next();System.out.println(str "A");}// 输出结果 input&#…...
HarmonyOS 应用开发之同步任务开发指导 (TaskPool和Worker)
同步任务是指在多个线程之间协调执行的任务,其目的是确保多个任务按照一定的顺序和规则执行,例如使用锁来防止数据竞争。 同步任务的实现需要考虑多个线程之间的协作和同步,以确保数据的正确性和程序的正确执行。 由于TaskPool偏向于单个独…...
基于MiniExcel的三种常用导出Excel方法(固定列导出、动态列导出、按模板导出)
为了方便代码编写和测试,把很多代码都放在一个class里面,实际开发根据需要放到对应的目录下即可。 1.使用nuget下载安装miniexcel; 2.编写对应的测试接口,具体代码如下: using Microsoft.AspNetCore.Authorization; using Micr…...
MATLAB科研绘图与学术图表绘制从入门到精通
💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…...
C++核心高级编程 --- 1、内存分区模型 2、引用
文章目录 第一章:1.内存分区模型1.1 程序运行前1.2 程序运行后1.3 new操作符 第二章:2.引用2.1 使用2.2 注意事项2.3 做函数参数2.4 做函数返回值2.5 本质2.6 常量引用 第一章: 1.内存分区模型 4个区域: 代码区:存放…...
winform日历控件_进度条控件
在 Windows Forms 应用程序中使用日历控件 (如 MonthCalendar 或 DateTimePicker) 和进度条控件 (如 ProgressBar) 是一个很好的练习,以了解这些控件的工作方式。以下是一些基本的步骤来实践这些控件: 日历控件: 添加 MonthCalendar 控件&am…...
Java进阶-反射的详解与应用
本文深入探讨了Java反射机制的核心概念、应用实例及其在现代Java开发中的重要性。文章首先介绍了反射的基本原理和能力,包括在运行时动态获取类信息、操作对象字段和方法的能力。随后,通过具体代码示例,展示了如何利用反射进行字段访问、方法…...
蓝桥杯算法题——暴力枚举法
先估算这个数小于3的50次方 cnt0 for i in range(50):for j in range(50):for k in range(50):a3**ib5**jc7**kif a*b*c<59084709587505:cnt1 print(cnt-1)#当ijk都为0时,a*b*c1不是幸运数字所以要减去...
【教程】Kotlin语言学习笔记(六)——泛型
写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【Kotlin语言学习】系列文章 第一章 《认识Kotlin》 第二章 《数据类型》 第三章 《数据容器》 第四章 《方法》 第五章 《L…...
【中文视觉语言模型+本地部署 】23.08 阿里Qwen-VL:能对图片理解、定位物体、读取文字的视觉语言模型 (推理最低12G显存+)
项目主页:https://github.com/QwenLM/Qwen-VL 通义前问网页在线使用——(文本问答,图片理解,文档解析):https://tongyi.aliyun.com/qianwen/ 论文v3. : 一个全能的视觉语言模型 23.10 Qwen-VL: A Versatile…...
【Qt 学习笔记】Qt 背景介绍
博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt 背景介绍 文章编号:Qt 学习笔记 / 01 文章目录 Qt 背景…...
C++递推算法
数塔问题 #include<bits/stdc.h> using namespace std; void f(int,int,int); int a[100][100]; int n; int main() {cin>>n;for(int i0;i<n;i){for(int j0;j<1i;j){cin>>a[i][j];}}for(int in-2;i>0;i--){for(int j0;j<i1;j){a[i][j]a[i][j]ma…...
Go项目结构整洁实现|GitHub 3.5k
一、前言 hi,大家好,这里是白泽。今天给大家分享一个GitHub 🌟 3.5k 的 Go项目:go-backend-clean-arch https://github.com/amitshekhariitbhu/go-backend-clean-architecture 这个项目是一位老外写的,通过一个 HTT…...
Python读取PDF文字 去掉页眉页脚
使用PyMuPDF(即fitz)读取PDF中的text时,会把页码也读进来。所以,有时候就需要让程序忽略页眉和页脚,或者直接删除页眉和页脚。 根据fitz的文档:Page - PyMuPDF 1.24.0 documentation get_text的clip参数可…...
Linux:入门篇
文章目录 前言1. Linuxd的安装环境2.Linux的简单介绍2.1 新建目录2.2 新建文件 3.指令到底是什么?4.shell命令以及运行原理5.总结 前言 很多人对于Linux的学习总是感觉无法下手,不知道从何开始学习,相信这篇文章将会为你提供一个清晰的思路。…...
NSSCTF Round#20 Basic 真亦假,假亦真 CSDN_To_PDF V1.2 出题笔记 (附wp+源码)
真亦假,假亦真 简介:java伪造php一句话马。实则信息泄露一扫就出,flag在/flag里面。 题目描述:开开心心签个到吧,祝各位师傅们好运~ 静态flag:NSS{Checkin_h4v3_4_g00D_tINNe!} /路由显示 <?php e…...
处理关于 React lazy 白屏的两种方案
这篇文章是今天在阅读 React 官方文档的时候看到的一个关于 处理 lazy 体验问题的小技巧,在这里记录一下 当我们使用 React.lazy 去懒加载一个路由组件,在不做任何其他处理的情况下从其他页面首次进入到这个懒加载的路由页面时,肯定会出现白屏…...
Nginx 基础
文章目录 Nginx概念安装下载上传安装包执行准备条件指定安装位置编译和安装启动服务创建启动脚本 linux文件目录nginx运行原理nginx配置域名概念和原理域名配置 Nginx 概念 Nginx 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是…...
C++完美转发(适合小白)
我们知道,C中有左值引用和右值引用,首先我们要知道什么是左值什么是右值。 左值:表达式结束后依然存在的持久对象。左值可以出现在赋值语句的左边或右边。例如,变量和函数返回的引用都是左值。左值通常有持久的地址,可…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
