当前位置: 首页 > 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)

http://www.lryc.cn/news/330493.html

相关文章:

  • 328——二维矩阵值变为1最小操作次数 next、nextInt、nextLine
  • HarmonyOS 应用开发之同步任务开发指导 (TaskPool和Worker)
  • 基于MiniExcel的三种常用导出Excel方法(固定列导出、动态列导出、按模板导出)
  • MATLAB科研绘图与学术图表绘制从入门到精通
  • C++核心高级编程 --- 1、内存分区模型 2、引用
  • winform日历控件_进度条控件
  • Java进阶-反射的详解与应用
  • 蓝桥杯算法题——暴力枚举法
  • 【教程】Kotlin语言学习笔记(六)——泛型
  • 【中文视觉语言模型+本地部署 】23.08 阿里Qwen-VL:能对图片理解、定位物体、读取文字的视觉语言模型 (推理最低12G显存+)
  • 【Qt 学习笔记】Qt 背景介绍
  • C++递推算法
  • Go项目结构整洁实现|GitHub 3.5k
  • Python读取PDF文字 去掉页眉页脚
  • Linux:入门篇
  • NSSCTF Round#20 Basic 真亦假,假亦真 CSDN_To_PDF V1.2 出题笔记 (附wp+源码)
  • 处理关于 React lazy 白屏的两种方案
  • Nginx 基础
  • C++完美转发(适合小白)
  • 如何创建自己的 Spring Boot Starter 并为其编写单元测试
  • C++ :STL中deque的原理
  • AttributeError: ‘Namespace‘ object has no attribute ‘EarlyStopping‘
  • 深度学习pytorch——卷积神经网络(持续更新)
  • 【edge浏览器无法登录某些网站,以及迅雷插件无法生效的解决办法】
  • OpenHarmony无人机MAVSDK开源库适配方案分享
  • 模型训练----parser.add_argument添加配置参数
  • 数字未来:探索 Web3 的革命性潜力
  • 群晖NAS使用Docker部署大语言模型Llama 2结合内网穿透实现公网访问本地GPT聊天服务
  • [选型必备基础信息] 存储器
  • C++——C++11线程库