Windows11下Docker使用记录(二)

news/2025/2/21 19:40:17

Docker使用记录(二)

    • 1. 常用指令
    • 2. Dockerfile示例
    • 3. 构建docker image

Docker中container,image,dockerfile
以及docker hub的关系如图所示,详细可见上一篇帖子。
本文主要记录Dockerfile相关。

在这里插入图片描述

1. 常用指令

常用指令(默认大写)功能
FROM指定基础镜像,位于Dockerfile第一行(必须有)FROM ubuntu:16.04
MAINTAINER指定维护者信息(可以不写)MAINTAINER "test<test@outlook.com>"
COPY和ADD相似,复制host中内容(必须与Dockerfile同级)至image指定路径中。COPY index.html /data/web/html/
ADD同上。此外,如果source是URL或压缩包,会自动下载或自动解压 ADD http://nginx.org/download/nginx-1.15.8.tar.gz /usr/local/src/
WORKDIR设置当前工作目录,为RUN,CMD等设置工作目录
ENV定义所需的环境变量
RUNdocker build过程中运行的程序,可以是任何命令 RUN cd ./src
EXPOSE声明容器运行的服务端口,有tcp(默认)和udp EXPOSE 90/tcp
CMD指定容器启动后默认运行的程序,CMD /usr/sbin/sshd -D(可以不写)

2. Dockerfile示例

FROM ubuntu:16.04

# install ROS kinetic
RUN apt-get update \
    && apt-get -y install curl \
    && sh -c 'echo "deb http://packages.ros.org/ros/ubuntu xenial main" > /etc/apt/sources.list.d/ros-latest.list' \
    && curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - \
    && apt-get update \
    && apt-get -y install ros-kinetic-desktop-full \
    && echo "source /opt/ros/kinetic/setup.bash" >> /etc/bash.bashrc \
    && /bin/bash -c '. /etc/bash.bashrc' \
    && apt-get -y install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential \
    && rosdep init \
    && rosdep update 
# create catkin_ws
RUN mkdir -p ~/catkin_ws/src \
    && cd ~/catkin_ws \
    # # ...
    # # do what you need to do for example git clone something into ~/catkin_ws/src
    # # ...
    && /bin/bash -c '. /opt/ros/kinetic/setup.bash; cd ~/catkin_ws; catkin_make; . ./devel/setup.bash'

docker_image_46">3. 构建docker image

docker build
. 非常重要

docker build -t ubuntu-16.04:kinetic .

保存docker image至本地tar文件

docker save -o ubuntu-16.04:kinetic kinetic.tar

加载 tar文件到镜像

docker load -i kinetic.tar

参考文献:
1. https://www.cnblogs.com/edisonchou/p/dockerfile_inside_introduction.html
2. https://www.cnblogs.com/along21/p/10243761.html
3. http://t.csdnimg.cn/itVtL
4. http://t.csdnimg.cn/brVnu


http://www.niftyadmin.cn/n/5473838.html

相关文章

物联网实战--驱动篇之(二)Modbus协议

目录 一、modbus简介 二、功能码01、02 三、modbus解析 四、功能码03、04 五、功能码05 六、功能码06 七、功能码16 一、modbus简介 我们在网上查阅modbus的资料发现很多很杂&#xff0c;modbus-RTU ASCII TCP等等&#xff0c;还有跟PLC结合的&#xff0c;地址还分1开…

ZYNQ学习之Petalinux 设计流程实战

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ PetaLinux工具提供了在 Xilinx 处理系统上自定义、构建和部署嵌入式 Linux 解决方案所需的…

C++ 【填充书架】

填充书架 dp[ i ] 放下第i 本书的最小高度 递推公式&#xff1a;要放第 i 本书的时候 假定前面有 j 本书在书架上&#xff0c;j<i &#xff0c;【 j - i 】之间的书作为最上层的&#xff0c;算出最上层书的最小层数 本题的目的是划分成多个子数组&#xff0c;这类问题&a…

场景文本检测识别学习 day01(传统OCR的流程、常见的损失函数)

传统OCR的流程 传统OCR&#xff1a;传统光学字符识别常见的的模型主要包括以下几个步骤来识别文本 预处理&#xff1a;预处理是指对输入的图像进行处理&#xff0c;以提高文字识别的准确率。这可能包括调整图像大小、转换为灰度图像、二值化&#xff08;将图像转换为黑白两色&…

大语言模型LLM《提示词工程指南》学习笔记03

文章目录 大语言模型LLM《提示词工程指南》学习笔记03链式提示思维树检索增强生成自动推理并使用工具自动提示工程师Active-Prompt方向性刺激提示Program-Aided Language ModelsReAct框架Reflexion多模态思维链提示方法基于图的提示大语言模型LLM《提示词工程指南》学习笔记03 …

xshell远程连接及VMware(su:鉴定等)内容补充

文章目录 xshell远程连接问题链路是否通服务是否通 xshell配置技巧批量创建对话窗口配置官方源及更新补丁常用工具更新软件包 虚拟机安装完之后出现鉴定错误问题普通用户su-root切换root用户密码错误故障tail -f /var/log/securevi /etc/pam.d/system-auth xshell远程连接问题 …

SQL知识点:UNION ALL

UNION ALL 前言 在 SQL 中&#xff0c;UNION ALL 是一个操作符&#xff0c;用于组合两个或更多 SELECT 语句的结果集。 与 UNION 不同&#xff0c;UNION ALL 会包括所有的行&#xff0c;即使行在多个查询结果集中是重复的。 这里是 UNION ALL 的基本用法和注意事项&#xf…