使用Dockerfile 构建自己的nodered镜像

使用Dockerfile构建容器方法

首先在本地文件夹新建一个空文件夹

并新建Dockerfile

本人这里 在root 文件目录新 新建了一个名为nodered_doker 的文件夹

并新建Dockerfile 文件

操作命令:

这里用root用户操作:

切换root: su -

输入用户密码:****

使用Dockerfile 构建自己的nodered镜像

清屏 clear

使用Dockerfile 构建自己的nodered镜像

切换到指定目录cd  ~

使用Dockerfile 构建自己的nodered镜像

创建文件夹 mkdir nodered_docker

切换到新建的目录 cd nodered_docker

使用Dockerfile 构建自己的nodered镜像

 

创建文件并编辑  vim   Dockerfile

 

使用Dockerfile 构建自己的nodered镜像

这里以 nodered/node-red:1.0.6 为基础镜像

并指定仓库为国内淘宝源

使用docker build -t my_nodered:v1.0 . 构建新的镜像名称为:my_nodered 版本为v1.0

 

使用Dockerfile 构建自己的nodered镜像

 

命令简介:

docker build: 用 Dockerfile 构建镜像的命令关键词。

[OPTIONS] : 命令选项,常用的指令包括 -t 指定镜像的名字,

    -f 显示指定构建镜像的 Dockerfile 文件(Dockerfile 可不在当前路径下),

     如果不使用 -f,则默认将上下文路径下的名为 Dockerfile 的文件认为是构建镜像的 "Dockerfile" 。

上下文路径|URL: 指定构建镜像的上下文的路径,构建镜像的过程中,可以且只可以引用上下文中的任何文件 。

 

使用docker images 查看镜像

使用Dockerfile 构建自己的nodered镜像

 

使用docker 运行 创建的my_nodered镜像

命令:docker run -p 127.0.0.1:1880:1880  f3d2e4372e49<IMAGE ID> or my_nodered:v1.0

使用Dockerfile 构建自己的nodered镜像

在浏览器中打开

使用Dockerfile 构建自己的nodered镜像

#获得容器信息docker container ls  -a     

#获得容器信息docker container ls  -a  -p   #获得容器id

  说明可以通过:container 找到刚刚运行的镜像

使用Dockerfile 构建自己的nodered镜像

 

用container 操作镜像:停止 docker container  stop  <CONTAINER ID>

                     开始 docker container  start  <CONTAINER ID>

                     重新开始 docker container  restart  <CONTAINER ID>

使用Dockerfile 构建自己的nodered镜像

container 操作镜像 删除镜像 停止 docker container  stop  <CONTAINER ID>

                           删除镜像 docker container  rm  <CONTAINER ID>

使用Dockerfile 构建自己的nodered镜像

 

使用docker 重新运行 创建的my_nodered镜像

命令:docker run -p 127.0.0.1:1880:1880  f3d2e4372e49<IMAGE ID> or my_nodered:v1.0

使用Dockerfile 构建自己的nodered镜像

流程结束:

 

Dockerfile构建镜像命令及操作:

1.FROM

基于那个基础命令开始构建镜像,我的理解就是选择一个操作系统

2.CMD

里面放的是指定一个容器启动时要运行的命令

3.ENTRYPOINT

类似于CDM命令,不过 docker run 命令行中指定的任何参数都会被当做参数再次传递给ENTRYPOINT指令中指定的命令

4.WORKDIR

用来在从镜像创建一个新容器时,在容器内部设置一个工作目录,ENTRYPOINT或CMD中的指定程序会在这个目录下执行

5.ENV

用来在镜像构建过程中设置环境变量

6.VOLUME

向容器中添加卷

7.ADD

用来将构建环境下的文件和目录复制到镜像中,比如构建镜像很慢此时需要替换容器里的源,需要把sources.list文件写好国内源替换进去