赞
踩
【docker在线使用安装教程】
【linux系统离线安装docker(分步法&一键法)】
一、node-red官网:https://nodered.org/
二、node-red官网上Docker安装node-red的教程:https://nodered.org/docs/getting-started/docker
docker search node-red
docker pull <镜像名称>:<版本号>
# 示例
docker pull nodered/node-red
docker images
从上图可以看出,每个镜像都有一个唯一的ID、一个名称和一些标签(也称为版本)。其中,REPOSITORY字段表示镜像的名称,TAG字段表示镜像的标签,IMAGE ID字段则是该镜像的唯一标识符。
*
查看Docker镜像存储位置:
在Docker中,每个镜像都是由多个层(Layer)组成的。因此,当用户下载或者构建一个Docker镜像时,实际上是将镜像的所有层下载到本地存储中。而在Linux系统中,Docker镜像实际上是存储在/var/lib/docker目录下的。在终端输入下面命令:sudo ls -l /var/lib/docker/
执行后,终端将会显示出/var/lib/docker/目录下所有的文件和文件夹列表。其中,/var/lib/docker/image文件夹是Docker储存镜像的主要位置。在/var/lib/docker/image/overlay2/imagedb/content/sha256目录下,存储了所有已下载的Docker镜像(以镜像ID命名),即所有层的存储位置。在每个镜像ID目录下,都有一个名为“real”或者“diff”文件,代表该层的存储位置。
回到目录
mkidr -p /home/node_red/data
chmod 777 -R /home/node_red
在实际是应用环境中,服务器可能会处在只能访问内网不能访问外网的环境中,因此不能直接通过访问网站下载镜像。此时,需要手动下载,有两种方式:
建议使用该种方式
操作步骤如下:
docker pull nodered/node-red
docker images
mkdir data
docker save -o /data/node-red.tar nodered/node-red
docker load -i node-red.tar
docker images
部署命令: sudo docker run -u root:node-red -v /home/node_red:/data --privileged=true -p 1881:1880 --name mynodered1 -d nodered/node-red --restart=always
- -p:端口映射 1881
- -u:用户 root
- -v:数据卷挂载 :将/home/node_red软连接到/data
- -privileged:分配root权限 true
- /home/node_red:数据存储路径
- nodered:docker服务包全称
- –restart=always:设置开机自启动
通过端口的不同,部署多个node-red:
- 端口为1882:
sudo docker run -u root:node-red -v /home/node_red:/data --privileged=true -p 1882:1880 --name mynodered2 -d nodered/node-red --restart=always
- 端口为1883:
sudo docker run -u root:node-red -v /home/node_red:/data --privileged=true -p 1884:1880 --name mynodered4 -d nodered/node-red --restart=always
docker ps
docker ps -a | grep node-red
此处 --since 30m 为查看此容器30分钟之内的日志情况
http://ip:端口
docker ps -a
docker ps -a | grep node-red
docker logs --since 30m <容器名>
docker stop <容器名>
docker rm <容器名>
以安装node-red-contrib-loop-processing节点为例
find / -name node-red-contrib-loop-processing
tar -zcvf node-red-contrib-loop-processing.tar.gz node-red-contrib-loop-processing/
# 查看镜像的id
docker images
# 查看Docker 容器和镜像的详细信息 - 指定镜像ID
docker inspect 988958e4cbe7
展示的信息中GraphDriver
配置段,主要涉及到 Docker 的存储驱动(storage driver)配置。Docker 使用存储驱动来管理容器和镜像的层以及相关的数据。不同的存储驱动有不同的特性,性能和功能。这个配置段具体是关于 overlay2 存储驱动的。overlay2 是 Docker 默认的存储驱动之一,它是 overlay 驱动的一个改进版本,提供更快的容器启动时间,更好的文件写性能,以及更小的存储使用空间。
这里有一些字段的解释:
- LowerDir: 这是底层的目录,包含了所有基础镜像的层。当创建一个新的容器时,这些基础层的文件被联合挂载到 MergedDir。
- MergedDir: 这是联合挂载的目录,所有基础层的文件都挂载到这里。当容器运行时,这个目录就代表了整个文件系统。
- UpperDir: 这是上层的目录,包含容器特有的更改。当容器被删除时,这个目录的内容也会被删除。
- WorkDir: 这是工作目录,用于存放临时文件和缓存。
根据上图得到,镜像目录在 imagePath:/var/lib/docker/overlay2/2555ecfed5866e3c56f856cef939f8db4c7bfbb3b698a573d9dfb5d73a1e44f4/
展示的信息中Config
配置段中的Env
: 这是一个环境变量列表。这些环境变量在容器启动时会被设置。这里包括:
PATH: 定义了可执行文件搜索的路径。
- NODE_VERSION: Node.js 的版本。
- YARN_VERSION: Yarn 的版本。
- NODE_RED_VERSION: Node-RED 的版本。
- NODE_PATH: Node.js 模块的搜索路径。当Node.js程序尝试导入一个模块时,它首先会查看/usr/src/node-red/node_modules目录,如果找不到,它会继续在/data/node_modules目录中查找。
- FLOWS: Node-RED 的流配置文件路径。
** 根据上图得到,node.js的node_modules路径在nodePath:** /usr/src/node-red/node_modules
联合两个配置信息得到,node-red的节点的安装目录为:imagePath/nodePath 即:/var/lib/docker/overlay2/2555ecfed5866e3c56f856cef939f8db4c7bfbb3b698a573d9dfb5d73a1e44f4/diff/usr/src/node-red/node_modules
cd /var/lib/docker/overlay2/2555ecfed5866e3c56f856cef939f8db4c7bfbb3b698a573d9dfb5d73a1e44f4/diff/usr/src/node-red/node_modules
ll
tar -xvf node-red-contrib-loop-processing.tar.gz
docker stop 容器名
docker start 容器名
# 关闭容器
docker stop 容器名
# 删除容器
docker rm 容器名
#重建容器
sudo docker run -u root:node-red -v /home/node_red/1881:/data --privileged=true -p 1881:1880 --name nodered1 -d nodered/node-red --restart=always
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。