使用Dockerfile 构建自己的nodered镜像
使用Dockerfile构建容器方法
首先在本地文件夹新建一个空文件夹
并新建Dockerfile
本人这里 在root 文件目录新 新建了一个名为nodered_doker 的文件夹
并新建Dockerfile 文件
操作命令:
这里用root用户操作:
切换root: su -
输入用户密码:****
清屏 clear
切换到指定目录cd ~
创建文件夹 mkdir nodered_docker
切换到新建的目录 cd nodered_docker
创建文件并编辑 vim Dockerfile
这里以 nodered/node-red:1.0.6 为基础镜像
并指定仓库为国内淘宝源
使用docker build -t my_nodered:v1.0 . 构建新的镜像名称为:my_nodered 版本为v1.0
命令简介:
docker build: 用 Dockerfile 构建镜像的命令关键词。
[OPTIONS] : 命令选项,常用的指令包括 -t 指定镜像的名字,
-f 显示指定构建镜像的 Dockerfile 文件(Dockerfile 可不在当前路径下),
如果不使用 -f,则默认将上下文路径下的名为 Dockerfile 的文件认为是构建镜像的 "Dockerfile" 。
上下文路径|URL: 指定构建镜像的上下文的路径,构建镜像的过程中,可以且只可以引用上下文中的任何文件 。
使用docker images 查看镜像
使用docker 运行 创建的my_nodered镜像
命令:docker run -p 127.0.0.1:1880:1880 f3d2e4372e49<IMAGE ID> or my_nodered:v1.0
在浏览器中打开
#获得容器信息docker container ls -a
#获得容器信息docker container ls -a -p #获得容器id
说明可以通过:container 找到刚刚运行的镜像
用container 操作镜像:停止 docker container stop <CONTAINER ID>
开始 docker container start <CONTAINER ID>
重新开始 docker container restart <CONTAINER ID>
container 操作镜像 删除镜像 停止 docker container stop <CONTAINER ID>
删除镜像 docker container rm <CONTAINER ID>
使用docker 重新运行 创建的my_nodered镜像
命令:docker run -p 127.0.0.1:1880:1880 f3d2e4372e49<IMAGE ID> or my_nodered:v1.0
流程结束:
Dockerfile构建镜像命令及操作:
1.FROM
基于那个基础命令开始构建镜像,我的理解就是选择一个操作系统
2.CMD
里面放的是指定一个容器启动时要运行的命令
3.ENTRYPOINT
类似于CDM命令,不过 docker run 命令行中指定的任何参数都会被当做参数再次传递给ENTRYPOINT指令中指定的命令
4.WORKDIR
用来在从镜像创建一个新容器时,在容器内部设置一个工作目录,ENTRYPOINT或CMD中的指定程序会在这个目录下执行
5.ENV
用来在镜像构建过程中设置环境变量
6.VOLUME
向容器中添加卷
7.ADD
用来将构建环境下的文件和目录复制到镜像中,比如构建镜像很慢此时需要替换容器里的源,需要把sources.list文件写好国内源替换进去