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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787529.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态规划——计数类dp

例题&#xff1a;acwing900整数划分 完全背包解法 #include <iostream> #include <algorithm>using namespace std;const int N 1010, mod 1e9 7;int n; int f[N];int main() {cin >> n;f[0] 1;for (int i 1; i < n; i )for (int j i; j < n; …

Golang 哈希表底层实现原理

1、本文讨论Golang的哈希表 Golang哈希表的实现&#xff0c;底层数据结构是数组单链表&#xff0c;链表节点由8个key、value和键的高八位组成的。为了方便理解&#xff0c;先简单看一个图快速理解。 我们来看一下Golang哈希表的结构体定义 简单介绍一下结构体中几个关键的…

C#的await常用和扩展方法

await 是 C# 中用于等待异步操作完成的关键字。它通常与 async 一起使用&#xff0c;用于异步方法中等待异步操作的完成&#xff0c;并且在异步操作完成后&#xff0c;恢复执行该方法。 下面是对 await 的详细介绍以及一些示例代码&#xff1a; 1. 基本用法&#xff1a; await…

(C语言) fgetc与fputc函数详解

目录 1 fgetc函数详解 1.1 从文件流中读取数据 1.2 从标准输入流中读取数据 2 fputc函数详解 2.1 向文件流中写入数据 2.2 向标准输出流中写入数据 1 fgetc函数详解 头文件&#xff1a;stdio.h 该函数只有一个参数&#xff1a;stream 作用&#xff1a;从输入流中获得一个…

函数调用实现小米汽车智能语音助手

上周小米汽车发布&#xff0c;其中有一个特色功能就是智能语音&#xff0c;小爱同学整合了语音大模型&#xff0c;实现智能座舱体验。 雷老板的PPT也演示了&#xff0c;一些口语化的对话就能触发各种指令&#xff0c;无论是开空调、播放音乐&#xff0c;还是找手机、识别前方汽…

strlen与sizeof区别

1.sizeof操作符的结果类型是size_t&#xff0c;它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。 2.sizeof是取字节运算符&#xff08;关键字&#xff09;&#xff0c;strlen是函数。 3.sizeof可以用类型做参数&#xff0c;strlen只能…

PyTorch学习之:深入理解神经网络

使用torch.nn模块构建网络架构 在PyTorch中&#xff0c;torch.nn模块是构建神经网络的核心。使用这个模块&#xff0c;你可以轻松地定义网络层、激活函数、损失函数等。以下是使用torch.nn构建一个简单神经网络架构的步骤&#xff1a; 步骤1: 定义网络结构 首先&#xff0c;…

STC8H8K64U 学习笔记 - 与上位机通信

与上位机通信 在天问中编程&#xff0c;通过分支判断来接收 PyQt 的传递的信号&#xff0c;进而控制单片机的点灯操作。 环境说明 该内容仅针对我自己学习的开发板做的笔记&#xff0c;在实际开发中需要针对目标电路板的原理图进行针对性研究。 芯片&#xff1a;STC8H8K64U烧录…

C++ 让类只在堆或栈上分配

1. 让类只在栈上或堆上分配内存 在C中&#xff0c;类的对象建立分为两种&#xff1a; 一种是静态建立&#xff0c;如A a&#xff1b; 另一种是动态建立&#xff0c;如A* ptrnew A&#xff1b;这两种方式是有区别的。 1、静态建立类对象&#xff1a;是由编译器为对象在栈空间…

掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)

在Go语言中&#xff0c;类型转换指的是将一个数据类型的值转换为另一个数据类型的过程。Go语言中的类型转换通常用于将一种数据类型转换为另一种数据类型&#xff0c;以满足特定操作或需求。 类型转换的基本语法 在Go语言中&#xff0c;类型转换的基本语法为&#xff1a; ne…

Redis Stack 安装部署

参考&#xff1a;Run Redis Stack on Docker | Redis Redis-stack 初体验_redis stack-CSDN博客 【docker】运行redis_docker run redis-stack-server requirepass-CSDN博客 Redis Stack 是一组软件套件&#xff0c;它主要由三部分组成。 一个是 Redis Stack Server&#x…

艺术点亮新乡村--博罗县“村ART“乡村艺术创作大赛圆满落幕

三月的博罗大地春意盎然,处处洋溢着勃勃生机。在这万物复苏、欣欣向荣的美好时节,一场由农民自编自演、自导自绘的乡村文化盛宴在古朴幽静的徐田村徐徐拉开帷幕。由博罗县委宣传部倾情指导,县文联、文广旅体局、文明办通力合作,泰康保险集团鼎力承办的"村ART"乡村艺术…

AI技术创业:探索无限商机与创新之路

AI技术创业在当前数字化时代呈现出蓬勃发展的态势&#xff0c;为创业者提供了广阔的机会和无限的可能性。随着AI技术的不断进步和应用领域的拓展&#xff0c;从智能家居到自动驾驶&#xff0c;从医疗健康到金融服务&#xff0c;几乎每一个行业都在积极拥抱AI&#xff0c;寻求创…

多功能知识付费源码下载-实现流量互导多渠道变现(带详细安装教程)

资源变现类产品的许多优势&#xff0c;并剔除了那些无关紧要的元素&#xff0c;使得本产品在运营和变现能力方面实现了质的飞跃。多领域素材资源知识变现营销裂变独立版本。 支持&#xff1a;视频、音频、图文、文档、会员、社群、用户发布、创作分成、任务裂变、流量主、在线…

MySQL DBA 需要了解一下 InnoDB Online DDL 算法更新

在 MySQL 8.0.12 中&#xff0c;我们引入了一种新的 DDL 算法&#xff0c;该算法在更改表的定义时不会阻塞表。第一个即时操作是在表格末尾添加一列&#xff0c;这是来自腾讯游戏的贡献。 然后在 MySQL 8.0.29 中&#xff0c;我们添加了在表中任意位置添加&#xff08;或删除&…

14种建模语言(UML)图形

前言 UML 中有四种关系&#xff1a;依赖、关联、泛化和实现。这四种关系是 UML 模型中可以包含的基本关系事物。这里介绍14种UML图形:类图&#xff0c;对象图&#xff0c;包图&#xff0c;构件图&#xff0c;组合结构图&#xff0c;部署图&#xff0c;制品图&#xff0c;用例图…

sql之每日五题day02--多表联查/聚合函数/多值判断/函数

sql之每日五题day01--多表联查/聚合函数 where和group by同时出现分别查看&结果不去重--union allunion all细节别名case when多值判断数据处理函数 where和group by同时出现 SQL24 统计每个用户的平均刷题数 仅查看山东大学的用户在不同难度下的每个用户的平均答题题目数…

DNDC模型对所有处理的土壤温度和湿度模拟效果良好,但有时土壤湿度模拟存在偏差

使用 DNDC 模型评估加拿大多样化作物轮作系统对产量和 N2O 排放的影响 原名&#xff1a;Assessing the impacts of diversified crop rotation systems on yields and nitrous oxide emissions in Canada using the DNDC model 译名&#xff1a;使用 DNDC 模型评估加拿大多样…

爬虫逆向实战(39)-某某兔装修网登陆(RSA)

一、数据接口分析 主页地址&#xff1a;某某兔装修网 1、抓包 通过抓包可以发现登陆是表单提交 2、判断是否有加密参数 请求参数是否加密&#xff1f; 通过查看“载荷”模块&#xff0c;可以发现有一个val和password的加密参数 请求头是否加密&#xff1f; 无响应是否加密…