当前位置: 首页 > 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;可…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

WEB3全栈开发——面试专业技能点P7前端与链上集成

一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染&#xff08;SSR&#xff09;与静态网站生成&#xff08;SSG&#xff09; 框架&#xff0c;由 Vercel 开发。它简化了构建生产级 React 应用的过程&#xff0c;并内置了很多特性&#xff1a; ✅ 文件系…...

基于单片机的宠物屋智能系统设计与实现(论文+源码)

本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢&#xff0c;连接红外测温传感器&#xff0c;可实时精准捕捉宠物体温变化&#xff0c;以便及时发现健康异常&#xff1b;水位检测传感器时刻监测饮用水余量&#xff0c;防止宠物…...

JS红宝书笔记 - 3.3 变量

要定义变量&#xff0c;可以使用var操作符&#xff0c;后跟变量名 ES实现变量初始化&#xff0c;因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符&#xff0c;可以创建一个全局变量 如果需要定义…...

手动给中文分词和 直接用神经网络RNN做有什么区别

手动分词和基于神经网络&#xff08;如 RNN&#xff09;的自动分词在原理、实现方式和效果上有显著差异&#xff0c;以下是核心对比&#xff1a; 1. 实现原理对比 对比维度手动分词&#xff08;规则 / 词典驱动&#xff09;神经网络 RNN 分词&#xff08;数据驱动&#xff09…...