当前位置: 首页 > news >正文

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.204.145(动态)

192.168.204.141(静态)

192.168.204.142(静态)

docker25.0.3
docker-compose2.24.5
cpolar (客户端)3.12服务器端 3.22

(2)查看系统版本

[root@localhost ~]# cat /etc/os-release

e4d8bd1e19174f7ebec18a7c53fb3c2a.png

(3) 查看网络ip 

[root@localhost ~]# ip addr


 

 (4) 查看docker版本 

[root@localhost ~]# docker --version

d00ab0ec09264683a2035688aee10fcd.png

(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时&#xff0c;a*b*c1不是幸运数字所以要减去...

【教程】Kotlin语言学习笔记(六)——泛型

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【Kotlin语言学习】系列文章 第一章 《认识Kotlin》 第二章 《数据类型》 第三章 《数据容器》 第四章 《方法》 第五章 《L…...

【中文视觉语言模型+本地部署 】23.08 阿里Qwen-VL:能对图片理解、定位物体、读取文字的视觉语言模型 (推理最低12G显存+)

项目主页&#xff1a;https://github.com/QwenLM/Qwen-VL 通义前问网页在线使用——&#xff08;文本问答&#xff0c;图片理解&#xff0c;文档解析&#xff09;&#xff1a;https://tongyi.aliyun.com/qianwen/ 论文v3. : 一个全能的视觉语言模型 23.10 Qwen-VL: A Versatile…...

【Qt 学习笔记】Qt 背景介绍

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt 背景介绍 文章编号&#xff1a;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&#xff0c;大家好&#xff0c;这里是白泽。今天给大家分享一个GitHub &#x1f31f; 3.5k 的 Go项目&#xff1a;go-backend-clean-arch https://github.com/amitshekhariitbhu/go-backend-clean-architecture 这个项目是一位老外写的&#xff0c;通过一个 HTT…...

Python读取PDF文字 去掉页眉页脚

使用PyMuPDF&#xff08;即fitz&#xff09;读取PDF中的text时&#xff0c;会把页码也读进来。所以&#xff0c;有时候就需要让程序忽略页眉和页脚&#xff0c;或者直接删除页眉和页脚。 根据fitz的文档&#xff1a;Page - PyMuPDF 1.24.0 documentation get_text的clip参数可…...

Linux:入门篇

文章目录 前言1. Linuxd的安装环境2.Linux的简单介绍2.1 新建目录2.2 新建文件 3.指令到底是什么&#xff1f;4.shell命令以及运行原理5.总结 前言 很多人对于Linux的学习总是感觉无法下手&#xff0c;不知道从何开始学习&#xff0c;相信这篇文章将会为你提供一个清晰的思路。…...

NSSCTF Round#20 Basic 真亦假,假亦真 CSDN_To_PDF V1.2 出题笔记 (附wp+源码)

真亦假&#xff0c;假亦真 简介&#xff1a;java伪造php一句话马。实则信息泄露一扫就出&#xff0c;flag在/flag里面。 题目描述&#xff1a;开开心心签个到吧&#xff0c;祝各位师傅们好运~ 静态flag&#xff1a;NSS{Checkin_h4v3_4_g00D_tINNe!} /路由显示 <?php e…...

处理关于 React lazy 白屏的两种方案

这篇文章是今天在阅读 React 官方文档的时候看到的一个关于 处理 lazy 体验问题的小技巧&#xff0c;在这里记录一下 当我们使用 React.lazy 去懒加载一个路由组件&#xff0c;在不做任何其他处理的情况下从其他页面首次进入到这个懒加载的路由页面时&#xff0c;肯定会出现白屏…...

Nginx 基础

文章目录 Nginx概念安装下载上传安装包执行准备条件指定安装位置编译和安装启动服务创建启动脚本 linux文件目录nginx运行原理nginx配置域名概念和原理域名配置 Nginx 概念 Nginx 是一个高性能的HTTP和反向代理web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx是…...

C++完美转发(适合小白)

我们知道&#xff0c;C中有左值引用和右值引用&#xff0c;首先我们要知道什么是左值什么是右值。 左值&#xff1a;表达式结束后依然存在的持久对象。左值可以出现在赋值语句的左边或右边。例如&#xff0c;变量和函数返回的引用都是左值。左值通常有持久的地址&#xff0c;可…...

嵌入式软件三大代码架构设计方法详解

嵌入式软件常用的几种代码架构设计方法1. 项目概述在嵌入式软件开发领域&#xff0c;合理的代码架构设计对系统稳定性、可维护性和实时性至关重要。本文系统介绍三种典型的嵌入式软件架构设计方案&#xff0c;分析其适用场景与实现要点。2. 时间片轮询法2.1 架构特点时间片轮询…...

别再手动配环境了!用COLMAP已知位姿重建,从数据集到.ply点云保姆级避坑指南

别再手动配环境了&#xff01;用COLMAP已知位姿重建&#xff0c;从数据集到.ply点云保姆级避坑指南 三维重建技术正逐渐成为计算机视觉领域的标配工具&#xff0c;而COLMAP作为开源重建方案中的佼佼者&#xff0c;其强大功能背后却隐藏着诸多配置陷阱。本文专为那些已经拥有带位…...

extern ‘C‘原理与C/C++混合编程实践

1. 深入解析extern C的底层原理与工程实践1.1 C/C混合编程的核心挑战在嵌入式系统开发中&#xff0c;C与C语言的混合编程是常见需求。当C代码需要调用C语言编写的库函数时&#xff0c;编译器对函数名的处理方式差异会导致链接错误。这种差异源于两种语言对函数重载和名字空间的…...

AI视频生成工具ComfyUI-WanVideoWrapper零基础配置指南

AI视频生成工具ComfyUI-WanVideoWrapper零基础配置指南 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 还在为视频生成工具的复杂配置烦恼&#xff1f;想快速掌握AI视频创作却被技术门槛劝退&am…...

如何参与Data-Science-For-Beginners社区贡献:完整开源项目参与指南

如何参与Data-Science-For-Beginners社区贡献&#xff1a;完整开源项目参与指南 【免费下载链接】Data-Science-For-Beginners 10 Weeks, 20 Lessons, Data Science for All! 项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners Data-Scienc…...

VideoAgentTrek-ScreenFilter在CAD教学中的应用:自动筛选设计演示视频重点

VideoAgentTrek-ScreenFilter在CAD教学中的应用&#xff1a;自动筛选设计演示视频重点 每次上完CAD软件课&#xff0c;你是不是都有这样的感觉&#xff1f;老师演示了两个小时&#xff0c;鼠标点得飞快&#xff0c;步骤一个接一个。你录了屏&#xff0c;打算课后复习&#xff…...

计算机视觉:从基础到深度学习应用

计算机视觉&#xff1a;从基础到深度学习应用 1. 背景与意义 计算机视觉&#xff08;Computer Vision&#xff0c;简称CV&#xff09;是人工智能领域的重要分支&#xff0c;旨在使计算机能够理解和处理图像信息。随着深度学习的发展&#xff0c;计算机视觉取得了突破性进展&…...

Alibaba DASD-4B Thinking 对话工具应用:自动化软件测试用例生成与评审

Alibaba DASD-4B Thinking 对话工具应用&#xff1a;自动化软件测试用例生成与评审 每次新版本上线前&#xff0c;测试团队是不是都忙得焦头烂额&#xff1f;产品需求文档改了又改&#xff0c;测试用例也得跟着一遍遍更新&#xff0c;手动编写不仅耗时&#xff0c;还容易遗漏边…...

4个维度解析EAS CLI:移动开发效率提升工具

4个维度解析EAS CLI&#xff1a;移动开发效率提升工具 【免费下载链接】eas-cli Fastest way to build, submit, and update iOS and Android apps 项目地址: https://gitcode.com/gh_mirrors/ea/eas-cli 定位核心价值&#xff1a;重新定义移动开发工作流 在移动应用开…...

Apollo配置中心:从基础概念到实战应用全解析

1. Apollo配置中心初探&#xff1a;为什么我们需要它&#xff1f; 想象一下你正在开发一个电商系统&#xff0c;数据库连接地址、支付接口密钥、商品库存阈值等配置信息散落在20个不同的properties文件里。每次修改配置都需要重新打包部署&#xff0c;半夜三点被叫起来改生产环…...