目录

  一、实验

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

openeuler docker换源了吗 opengrok docker_docker

(3) 查看网络ip 

[root@localhost ~]# ip addr

openeuler docker换源了吗 opengrok docker_运维_02


 

 (4) 查看docker版本 

[root@localhost ~]# docker --version

openeuler docker换源了吗 opengrok docker_Docker_03

(5)检查docker compose版本

[root@localhost ~]# docker compose version

openeuler docker换源了吗 opengrok docker_容器_04

2.OpenEuler 部署 docker-compose-ui

(1)官网

https://github.com/francescou/docker-compose-ui

版本较老

openeuler docker换源了吗 opengrok docker_运维_05

(2)拉取Docker Compose UI镜像

[root@localhost ~]# docker pull francescou/docker-compose-ui:1.13.0

openeuler docker换源了吗 opengrok docker_linux_06

(3)查看镜像

[root@localhost ~]# docker images| head -1 ; docker images |grep compose

openeuler docker换源了吗 opengrok docker_linux_07

(4)创建部署目录

[root@localhost ~]#  mkdir -p /data/compose-ui
[root@localhost ~]#  cd /data/compose-ui/

openeuler docker换源了吗 opengrok docker_docker_08

(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

openeuler docker换源了吗 opengrok docker_Docker_09

(6) 浏览器访问

http://192.168.204.141:5000

openeuler docker换源了吗 opengrok docker_容器_10

3.OpenEuler 部署 UI For Docker 

(1)查看

https://github.com/kevana/ui-for-docker

版本较老

openeuler docker换源了吗 opengrok docker_容器_11

(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

openeuler docker换源了吗 opengrok docker_Docker_12

(3)访问

http://192.168.204.141:9000/

openeuler docker换源了吗 opengrok docker_容器_13

(4)查看镜像

openeuler docker换源了吗 opengrok docker_运维_14

4.使用cpolar内网穿透

(1)固定二级子域名地址

登录cpolar官网,点击左侧的预留,找到保留二级子域名,为远程服务器连接保留一个固定二级子域名地址

openeuler docker换源了吗 opengrok docker_Docker_15

(2)创建隧道

域名类型:选择二级子域名

预留的http地址:复制粘贴官网保留成功的地址,dockerui

地区选择:China VIP

openeuler docker换源了吗 opengrok docker_运维_16

(3) 查看隧道列表

openeuler docker换源了吗 opengrok docker_linux_17

(4)查看在线隧道列表

openeuler docker换源了吗 opengrok docker_docker_18

(5)二级子域名地址访问

https://dockerui.vip.cpolar.cn

openeuler docker换源了吗 opengrok docker_Docker_19

5.OpenEuler 部署 Portainer

(1)官网

https://hub.docker.com/r/portainer/portainer-ce

openeuler docker换源了吗 opengrok docker_运维_20

(2) 下载汉化包

https://github.com/eysp/public/releases/tag/public

openeuler docker换源了吗 opengrok docker_linux_21

(3)拉取镜像

[root@localhost ~]# docker pull portainer/portainer-ce:latest

openeuler docker换源了吗 opengrok docker_运维_22

查看镜像

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

openeuler docker换源了吗 opengrok docker_docker_23

(4)解压汉化包

创建目录

[root@localhost ~]# cd /data
[root@localhost data]# mkdir portainer
[root@localhost data]# cd portainer/

openeuler docker换源了吗 opengrok docker_docker_24

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

openeuler docker换源了吗 opengrok docker_linux_25

(5)创建数据卷

[root@localhost portainer]# docker volume create portainer_data

[root@localhost portainer]# docker volume ls | grep portainer

openeuler docker换源了吗 opengrok docker_docker_26

(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

openeuler docker换源了吗 opengrok docker_docker_27

(6)查看进程

[root@localhost ~]# docker ps |head -1 ; docker ps |grep portainer

openeuler docker换源了吗 opengrok docker_linux_28

(7)登录

http://192.168.204.141:9000

openeuler docker换源了吗 opengrok docker_运维_29

(8)浏览器访问 

如访问失败需要重启容器

http://192.168.204.141:9100/

openeuler docker换源了吗 opengrok docker_Docker_30

(9)创建用户

openeuler docker换源了吗 opengrok docker_Docker_31

(10)进入系统

openeuler docker换源了吗 opengrok docker_容器_32

(11)开始

openeuler docker换源了吗 opengrok docker_linux_33

(12)首页

openeuler docker换源了吗 opengrok docker_运维_34

二、问题

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.

openeuler docker换源了吗 opengrok docker_Docker_35

(2)原因分析

查看日志

[root@localhost data]# docker logs -f 087616769c8d

openeuler docker换源了吗 opengrok docker_容器_36

查看卷

[root@localhost data]# docker volume ls

openeuler docker换源了吗 opengrok docker_容器_37

(3)解决方法

重启

[root@localhost data]# sudo docker restart portainer

openeuler docker换源了吗 opengrok docker_容器_38

成功:

openeuler docker换源了吗 opengrok docker_Docker_30

3. docker volume有哪些命令

(1)命令

Usage:  docker volume COMMAND

Manage volumes

Commands:
  create      Create a volume
  inspect     Display detailed information on one or more volumes
  ls          List volumes
  prune       Remove unused local volumes
  rm          Remove one or more volumes
  update      Update a volume (cluster volumes only)