收集的linux命令/Docker命令

news2024/11/5 17:48:11

查看linux发行版本

lsb_release -a

显示操作系统的发行版号

uname -r

1. 启动 Docker。

sudo systemctl start docker

2. 通过运行映像来验证 Docker 引擎安装是否成功。hello-world

sudo docker run hello-world

查看docker版本

docker -v

查看docker配置信息

docker info

dockerfile文件介绍

Dockerfile 是一个用来构建镜像的文本文件,没有文件后缀名,可以直接使用文本编辑器来编写,就像shell脚本的[xxx.sh]文件,只是没有.sh作为后缀名。

编写 Dockerfile 是创建 Docker 镜像的核心步骤,了解每个指令的作用和用法可以帮助你更好地构建和优化 Docker 镜像。在实际应用中,你可以根据需求选择合适的基础镜像,合理使用指令,结合优化技巧,构建出高效、安全的 Docker 镜像。希望这篇文章能帮助你更好地理解和编写 Dockerfile。

创建Dockerfile

# 1、FROM 指令指定什么镜像作为基础镜像。每个 Dockerfile 必须以 FROM 开头。
# FROM [指定什么镜像作为基础镜像] 例如:
FROM [python:latest]
FROM python:3.9



# 2、LABEL 指令用于添加元数据,如维护者信息、版本号等。
# 添加维护者信息
LABEL maintainer="yourname@example.com"

# 添加版本信息
LABEL version="1.0"
LABEL description="This is a sample application."



# 3、ENV 指令用于设置环境变量。
ENV [环境变量添加]
# 例如:
ENV APP_ENV=production
ENV DEBUG=false



# 4、RUN 指令用于在镜像构建过程中执行命令。通常用于安装软件包、执行脚本等。
RUN <command>
# 例如:
RUN [制作镜像过程中执行linux语句]
RUN [下载]
RUN [linux命令]

# 使用临时安装源来安装插件
RUN [pip install redis-py -i 

# 安装 nginx
RUN apt-get update && apt-get install -y nginx

# 运行脚本
RUN /path/to/script.sh

# 安装 Python 包
RUN pip install -r requirements.txt https://pypi.tuna.tsinghua.edu.cn/simple/]
# 注意:对于安装多个软件包的情况,通常会将多个命令合并成一条 RUN 指令,以减少构建层数。
RUN [<语句> && <语句> && <语句>] 尽量用一条RUN,因为每一条RUN都会被打包一次
例如:
RUN apt-get update && \
    apt-get install -y nginx curl vim



# 5、COPY 指令用于将文件或目录从主机复制到镜像中。
COPY <src> <dest>
<src>:要复制的文件或目录的路径。
<dest>:镜像中的目标路径。
例如:
# 复制当前目录下的所有文件到 /app 目录
COPY . /app

# 复制特定文件
COPY config.yml /etc/myapp/config.yml



# 6、ADD 指令与 COPY 类似,但支持更多功能,如自动解压 tar 文件和从 URL 下载文件。
ADD [复制  主机-容器]
ADD <src> <dest>
例如:
# 直接复制文件
ADD [/home/a.txt /home/b.txt]
# 将宿主机的 a.txt 文件复制到容器的 /home/b.txt 位置,复制后两者内容完全相同。因此,容器中的 b.txt 实际上就是 a.txt 文件的副本。

# 解压文件并复制
ADD myapp.tar.gz /usr/src/app

# 下载:从 URL 下载文件
ADD [下载  网络文件-容器]
ADD [http://www.a.com/a.txt /home/b.txt]



# 7、WORKDIR 指令用于设置工作目录。后续指令(如 RUN、CMD、COPY 等)将在此目录中执行。
WORKDIR <path>
例如:
# 设置工作目录为 /app,这个目录的设置就见仁见智,有的喜欢用project,有的喜欢什么都不设,看公司规范和个人习惯。我们只需要确保后续的文件操作都是基于这个工作目录的。
WORKDIR /app



# 8、EXPOSE 指令用于声明容器运行时监听的端口。该指令仅用于文档说明,不会真正地打开端口。
EXPOSE <port> [<port>/<protocol>...]
<port>:要暴露的端口号。
<protocol>:可选,指定协议(默认是 tcp)
EXPOSE [端口映射,会被docker run -P覆盖]
例如:
# 暴露端口 80
EXPOSE 80 
EXPOSE 80/tcp

# 暴露端口 8080  声明容器在运行时应该监听 8080 端口。
EXPOSE 8080
# 暴露端口 8080,使用 TCP 协议
EXPOSE 8080/tcp



# 9、CMD 指令用于指定容器启动时执行的命令。每个 Dockerfile 只能有一个 CMD 指令,若有多个 CMD 指令,只有最后一个生效。
CMD [运行起容器后执行语句,会被docker run <语句>覆盖]
CMD ["executable", "param1", "param2"]
例如:
CMD ["pwd"]
CMD pwd

# 使用 shell 形式
CMD ["nginx", "-g", "daemon off;"]

# 使用 shell 格式
CMD nginx -g "daemon off;"

# 使用默认命令启动
CMD ["python", "app.py"]
CMD ["py","manage.py","runserver","0.0.0.0:8080"]

dockerfile示例:构建简单的 Python 应用

# 使用官方 Python 3.9 镜像作为基础镜像
FROM python:3.9

# 设置工作目录
WORKDIR /app

# 复制当前目录下的所有文件到工作目录
COPY . .

# 安装依赖
RUN pip install -r requirements.txt

# 暴露应用端口
EXPOSE 5000

# 设置容器启动命令
CMD ["python", "app.py"]

参考:
【Docker】Dockerfile 文件编写
python项目 以docker形式打包部署全流程
5 分钟,教你用 Docker 部署一个 Python 应用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2233722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于 Spring Boot 和 Vue 的门票销售创新系统

作者介绍&#xff1a;✌️大厂全栈码农|毕设实战开发&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 &#x1f345;获取源码联系方式请查看文末&#x1f345; 推荐订阅精彩专栏 &#x1f447;&#x1f3fb; 避免错过下次更新 Springboot项目精选实战案例 更多项目…

沃德校园助手系统源码

沃德校园助手系统&#xff0c;专为校园团队量身打造&#xff0c;提供了一站式的技术系统与运营解决方案&#xff0c;目前该系统已深度适配微信小程序平台&#xff0c;旨在助力校园团队轻松构建属于自己的线上助手平台。 在功能性方面&#xff0c;沃德校园助手系统涵盖了多种校…

Qt QCheckBox、QPushButton和QRadioButton详解

QCheckBox&#xff08;复选框&#xff09; 功能&#xff1a;QCheckBox用于创建一个复选框控件&#xff0c;允许用户从多个选项中选择多个。 属性&#xff1a; checkable&#xff1a;决定复选框是否可以被选中或取消选中。checked&#xff1a;表示复选框当前的选中状态&#…

DDR5内存售价暴降80%,终于到了无脑下手的时候

DDR5 内存刚面世那会儿&#xff0c;大家吐槽最多的便是频率低、延迟高、价格还死贵死贵。 前两年首批 DDR5 内存频率多集中在 4800、5200、5600MT/s 等入门水平。 延迟高、游戏性能不如高频 DDR4 内存的同时&#xff0c;单条 16G 售价普遍来到 1000 元开外&#xff0c;部分 3…

Jenkins找不到maven构建项目

有的可能没有出现maven这个选项 解决办法&#xff1a;需要安装Maven项目插件 输入​Maven Integration plugin​

基于大数据的热门旅游景点数据分析系统的设计与实现

作者主页&#xff1a;编程千纸鹤 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参…

计算机网络:网络层 —— 移动 IP 技术

文章目录 移动性对因特网应用的影响移动 IP 相关基本概念移动IP技术的基本工作原理代理发现与注册固定主机向移动主机发送IP数据报移动主机向固定主机发送IP数据报同址转交地址方式三角形路由问题 移动性对因特网应用的影响 我们列举如下三个应用场景说明移动性对因特网应用的…

ssm校园二手交易管理系统+vue

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码看文章最下面 需要定制看文章最下面 目 录 1 绪论 1 1.1 选题背景 1 1.2 选题意义 1 1.3 研究内容 2 2 系统开发技术 3 2.1 MySQL数…

CCS下载安装(以12.3.0版本为例)

Code Composer Studio 是一个集成开发环境 (IDE)&#xff0c;简称CCS软件。支持 TI 的微控制器和嵌入式处理器产品的开发。Code Composer Studio 包含一整套用于开发和调试嵌入式应用程序的工具。 CCS9.3.0及以上版本不需要License文件&#xff0c;但是CCS旧版本比如CCS5.5.0需…

短视频时代的崛起:TikTok为何如此受欢迎?

在数字媒体日益发展的今天&#xff0c;短视频已成为一种主流的传播形式&#xff0c;而TikTok则是这一趋势的代表性平台。自2016年上线以来&#xff0c;TikTok迅速崛起&#xff0c;吸引了全球数亿用户的关注和参与。究竟是什么让这款应用如此受欢迎&#xff1f;以下是对TikTok成…

SAP财务凭证冲销接口代码实现

SAP提供了标准的BAPI(BAPI_ACC_DOCUMENT_REV_POST)进行凭证冲销,但是由于很多参考过程不可以用标准BAPI进行冲销,所以我们不得不采用其它的方式来进行冲销的实现。 该示例是采用三个功能模块来实现凭证冲销的接口程序: POSTING_INTERFACE_START 内部预订界面启动信息 POS…

Vagrant使用教程:创建CentOS 8虚拟机

目录 简介准备工作下载配置Vagrant修改环境变量创建VAGRANT_HOME环境变量修改virturalBox新建虚拟机文件的默认生成路径修改Vagrant配置支持VirtualBox7.1.x版本创建Vagrant文件添加镜像 初始化并开机初始化开发环境开机 其他配置项宿主机的交换目录修改虚拟机内存修改 访问方式…

虚拟机 Ubuntu 扩容

文章目录 一、Vmware 重新分配 Ubuntu 空间二、Ubuntu 扩容分区 一、Vmware 重新分配 Ubuntu 空间 先打开 Vmware &#xff0c;选择要重新分配空间的虚拟机 点击 编辑虚拟机设置 &#xff0c;再点击 硬盘 &#xff0c;再点击 扩展 选择预计扩展的空间&#xff0c;然后点击 扩展…

CSS网页布局综合练习(涵盖大多CSS知识点)

该综合练习就是为这个学校静态网页设置CSS样式&#xff0c;使其变成下面的模样 其基本骨架代码为&#xff1a; <!DOCTYPE html> <html lang"zh"> <head> <meta charset"UTF-8"> <meta name"viewport" content…

【UGUI】实现点击注册按钮跳转游戏场景

1. 代码实现 首先&#xff0c;我们需要编写一个脚本来管理注册界面的显示和场景的切换。以下是完整的代码&#xff0c;并附有详细的注释说明&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagemen…

uniapp+vite配置环境变量

文章目录 前言一、配置变量二、定义变量生效三、脚本执行使其生效使用 总结如有启发&#xff0c;可点赞收藏哟~ 前言 查看官方文档 由于官方提示不支持在package.json配置脚本 --mode xx&#xff08;实际H5是可以的&#xff0c;但是在微信小程序等使用import.meta.env就会报错…

#Prompt | AI | LLM # 人类如何写出LLM理解的Prompt

一、如何写好Prompt 结构化Prompt 结构化Prompt是对信息进行组织&#xff0c;使其遵循特定模式和规则&#xff0c;以便于有效理解信息。常用模块包括&#xff1a; Role: 指定角色&#xff0c;使模型聚焦于特定领域。Profile: 包括作者、版本、语言和描述。Goals: 描述Prompt的…

Qt项目实战:红绿灯小程序

目录 一.初始化对象 二.捕获并处理特定的事件 三.自定义绘制方法 四.绘制外部边框 五.绘制内部边框 六.绘制按钮的背景色 七.绘制覆盖层&#xff08;高光效果&#xff09; 八.效果 九.代码 1.h 2.cpp 一.初始化对象 1.设置文本、颜色、边框和背景色等默认值。 2.安…

九泰智库 | 医械周刊- Vol.66

⚖️ 法规动态 北京视觉科学与转化医学研究中心正式成立 北京视觉科学与转化医学研究中心&#xff08;BERI&#xff09;于2024年10月26日在清华大学成立&#xff0c;旨在深入贯彻党的二十届三中全会精神&#xff0c;助力健康中国建设&#xff0c;推动全球视觉健康事业发展。该…

我谈正态分布——正态偏态

目录 pdf和cdf参数 标准正态分布期望和方差分布形态 3 σ 3\sigma 3σ原则 正态和偏态正态偏态瑞利分布偏度 (Skewness)峰度 (Kurtosis) 比较 正态分布的英文是Normal Distribution&#xff0c;normal是“正常”或“标准”的意思&#xff0c;中文翻译是正态&#xff0c;多完美的…