当前位置: 首页 > news >正文

织梦做的网站织梦修改网页个人做什么类型网站

织梦做的网站织梦修改网页,个人做什么类型网站,页面看不到网站,永州网站开发目录 0 专栏介绍1 为什么需要Dockerfile?2 Dockerfile书写原则3 Dockerfile常用指令3.1 FROM3.2 MAINTAINER3.3 RUN3.4 ADD3.5 COPY3.6 CMD3.7 ENV3.8 EXPOSE3.9 WORKDIR3.10 ARG 4 Dockerfile构建ROS工程实例 0 专栏介绍 本专栏旨在通过对ROS的系统学习&#xff0…

目录

  • 0 专栏介绍
  • 1 为什么需要Dockerfile?
  • 2 Dockerfile书写原则
  • 3 Dockerfile常用指令
    • 3.1 `FROM`
    • 3.2 MAINTAINER
    • 3.3 `RUN`
    • 3.4 `ADD`
    • 3.5 `COPY`
    • 3.6 `CMD`
    • 3.7 `ENV`
    • 3.8 `EXPOSE`
    • 3.9 `WORKDIR`
    • 3.10 `ARG`
  • 4 Dockerfile构建ROS工程实例

0 专栏介绍

本专栏旨在通过对ROS的系统学习,掌握ROS底层基本分布式原理,并具有机器人建模和应用ROS进行实际项目的开发和调试的工程能力。

🚀详情:《ROS从入门到精通》


1 为什么需要Dockerfile?

Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。详细理解Dockerfile就是一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。

在这里插入图片描述

Dockerfile具有很多好处:

  • 易于版本化管理Dockerfile本身就是一个文本文件,方便存放在代码仓库中进行版本管理,也方便查找各个版本之间的变更历史。
  • 无需考虑环境便于构建:使用Dockerfile构建镜像不需要考虑构建环境,基于同一个Dockerfile,无论在哪里运行,构建结果都是一致的。
  • 过程可追溯Dockerfile中的每一行指令代表一个镜像层, 根据Dockerfile的内容,可以清晰的查看到镜像的完整构建过程。

2 Dockerfile书写原则

Dockerfile书写原则如下:

  • 单一职责:容器的本质就是一个过程,不同功能的应用程序应该尽可能地划分到不同的容器中,每个容器只负责一个业务流程。
  • 保持容器最小化:应该避免安装无用的软件包
  • 合理选择基础镜像:容器的核心是应用,所以只要基础镜像可以满足应用的运行环境
    尽量使用构建缓存:利用缓存,可以大大缩短镜像构建时间。
    最小化镜像层数:在构建镜像时尽可能地减少Dockerfile指令行数。

3 Dockerfile常用指令

Docker以从上到下的顺序运行Dockerfile的指令,本节列出了一些常用的指令。

3.1 FROM

指定基础镜像,必须为第一个命令

  • 格式

    FROM [--platform=<platform>] <image>[:<tag>] [AS <name>]
    

    其中tag是可选的,如果不使用则采用最新版本的基础镜像

  • 例子

    FROM osrf/ros:noetic-desktop-full
    

3.2 MAINTAINER

维护者信息

  • 格式

    MAINTAINER <name>
    
  • 例子

    MAINTAINER Winter
    

3.3 RUN

用于在镜像容器中执行命令,其有以下两种命令执行方式:

  • shell执行
    • 格式
      RUN <shell-command>
      
    • 例子
      RUN pip3 install setuptools
      
  • exec执行
    • 格式
      RUN ["executable", "param1", "param2"]
      
    • 例子
      RUN ["/etc/execfile", "arg1", "arg2"]
      

3.4 ADD

将本地文件添加到容器中,tar类型文件会自动解压,可以访问网络资源

  • 格式

    ADD [--chown=<user>:<group>] <src>... <dest>
    
  • 例子

    # 相对路径,拷贝到WORKDIR目录下relativeDir/
    ADD test.txt relativeDir/
    # 绝对路径
    ADD test.txt /absoluteDir/
    # 更改权限
    ADD --chown=55:mygroup files* /somedir/
    

3.5 COPY

COPY指令和ADD指令的唯一区别在于:是否支持从远程URL获取资源。COPY指令只能从执行docker build所在的主机上读取资源并复制到镜像中。相同需求时,推荐使用COPY指令,ADD指令更擅长读取本地tar文件并解压缩或读取远程URL资源

3.6 CMD

类似于RUN指令,用于运行程序,但二者运行的时间点不同:CMD在构建镜像时不会执行,而在容器运行时运行;RUN则是在docker build时运行

  • 格式
    CMD <shell command>
    CMD [<exe>, <param1>, <param2>, ...]
    CMD [<param1>, <param2>, ...] 
    
  • 例子
    CMD ["/usr/bin/wc","--help"]
    
    每个Dockerfile只能有一条CMD命令。如果指定了多条命令,只有最后一条会被执行

3.7 ENV

设置环境变量

  • 格式
    ENV  <env_key> <env_val>
    
  • 例子
    ENV myName John Doe
    

3.8 EXPOSE

指定于外界交互的端口

  • 格式
    EXPOSE <port> [<port>/<protocol>...]
    
  • 例子
    EXPOSE 8080
    
    EXPOSE指令实际上并未发布端口。要在运行容器时实际发布端口,docker run -P来发布和映射一个或多个端口

3.9 WORKDIR

工作目录,类似于cd命令

  • 格式
    WORKDIR </path/to/workdir>
    
  • 例子
    WORKDIR /a  (这时工作目录为/a)
    
    通过WORKDIR设置工作目录后,Dockerfile中其后的命令RUNCMDENTRYPOINTADDCOPY等命令都会在该目录下执行

3.10 ARG

定义变量,与ENV作用相同,不过ARG变量不会像ENV变量那样持久化到构建好的镜像中,也就是说只有docker build的过程中有效。构建命令docker build中可以用--build-arg <参数名>=<值>来覆盖。

  • 格式
    ARG <arg_key>[=<arg_val>]
    
  • 例子
    ARG site
    ARG build_user=www
    

4 Dockerfile构建ROS工程实例

# Use the official ROS Noetic base image
FROM osrf/ros:noetic-desktop-full# Set the working directory
WORKDIR /project# Install additional dependencies if needed
RUN apt-get update \&& apt-get -y --no-install-recommends install \git \gcc \vim \psmisc \libxml2-dev \libxslt-dev \python3 \python3-pip \ python-is-python3\ros-noetic-amcl \ros-noetic-base-local-planner \ros-noetic-map-server \ros-noetic-move-base \ros-noetic-navfn# python packages
RUN pip3 install setuptools && pip3 install catkin-tools# bash
RUN echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc# Copy the project into the container
COPY . /project# catkin build
RUN /bin/bash -c '. /opt/ros/noetic/setup.bash; catkin_make'

🔥 更多精彩专栏

  • 《ROS从入门到精通》
  • 《机器人原理与技术》
  • 《机器学习强基计划》
  • 《计算机视觉教程》

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇
http://www.yayakq.cn/news/783536/

相关文章:

  • phpcms 手机网站后台flash网站用什么做
  • 湖南网站建设价格医院网站建设公司价格
  • 网站建设一条龙全包虚拟偶像定制app
  • 学校网站建设的作用嵌入式软件开发公司排名
  • 如何编写网站伊春住房和城乡建设网站
  • 门户网站的建设意义清城区做模板网站建设
  • 网站建设公司销售技巧前端网站建设插件
  • 一流的江苏网站建设南宁网红夜市
  • 河南商务学校网站建设企业百度推广
  • 网站外链建设可以提升网站权重对吗网站建站平台 开源
  • 如何查看网站权重wordpress tw
  • tp5 网站开发校园网站建设划分vlan
  • 饭店网站建设策划方案网站运营每天做啥工作
  • 企业网站网页设计的步骤廊坊关键词优化服务
  • 浙江省交通建设工程监督管理局网站汕头网站制作
  • 天河做网站服务有什么网站建设类岗位
  • 专门做网站的科技公司h5编辑软件
  • 长沙免费建站网络营销本地的佛山网站建设
  • 南宁h5建站培训机构跑路怎么追回学费
  • 自己建设企业网站建站网站赚钱吗
  • 东莞做网站企业铭平面设计面试作品集
  • 企业标准建站wordpress博客分享
  • php mysql 网站建设网站利用微信拉取用户做登录页
  • 医疗保健网站前置审批文件网站建设合同协议
  • 网页标准化对网站开发维护的好处黄南州wap网站建设公司
  • 找人做网站域名怎么过户icp备案网站建设方案书
  • 第一环保网站建设项目环评公示服务器有了怎么做网站
  • 建设彩票网站合法吗id 连续 wordpress
  • 长沙城乡建设网站中国十大搜索引擎排名最新
  • 右翼网站网站后台登陆密码