docker 使用记录

news2024/11/18 22:58:08

要点:

参考:https://www.cnblogs.com/yurenjun/p/15991062.html


一 打包部署步骤

参考: Docker教程(超全总结)_生信技术的博客-CSDN博客

参考部署基础操作:如何用Docker打包部署自己写的项目?

1.1 首先我们需要去配置的就是我们的运行环境

如何配?通过FROM关键词,例如我需要一个python3.6的环境:

FROM python:3.6

我们只需要在Dockerfile里面编写如上的代码,就能够拉取到一个python3.6的环境。

1.2 定义根目录

下一步我们也许会去定一个根目录,注意是也许,不是一定。

WORKDIR /app

WORKDIR的意思就是让后面的路径成为根路径,注意哦,这里的路径是docker里面的路径。

1.3 拷贝到 docker

然后,我们就会把代码或者是编译完成之后的运行文件COPY到docker当中

COPY . .

上面就是COPY+本地路径 +docker中的路径,也就是本机当前路径文件,拷贝到docker中的路径中。

1.4 安装依赖

在Python中,我们还需要去安装一些Python库,所以你可能还需要这个操作:

RUN pip install -r requirements.txt

RUN 后面接的就是一个命令行。

1.5 暴露端口

安装完成之后,你需要去暴露一下端口

EXPOSE 80

这样能够让我们后续将docker中的端口和本机中的端口进行映射,从而我们可以通过本机ip+端口来进行访问操作。

最后一步就是运行,当然如果是Python我们就可以直接运行了,但是有一些语言框架可能不行,因为它可能还需要进行一次编译,然后再运行编译后的文件,所以这里大家需要注意了。

如果你不想在docker打包过程中编译,你也可以在本机中编译完,直接运行编译后的文件。

1.6 运行打包代码

当然在Python中我们直接运行Python即可。

CMD ["python","main.py"]

1.7 汇总 dockerfile

好了,上面大致就是打包的整个过程与思路,每个框架,每个语言都会有不一样,所以没有准确的答案,准确的答案在官方文档中一般有所体现。

这里也给大家汇总一下python的dockerfile

FROM python:3.6
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 80
CMD ["python","app.py"]

1.8 根目录运行

编写完dockerfile,我们一般喜欢放在需要打包的地方的根路径,然后直接运行

docker build -t 你想要的名字 . 

docker build -t pythondemo . 

运行之后,docker会自动完成dockerfile里面的每一个步骤。

打包完成后,我们就可以看到images。

大家直接docker images 即可。

随后,我们就可以来创建容器了。

docker run  -d -p 5000:80 pythondemo

docker run -d -p 要映射的本机端口:docker中项目运行的端口 镜像名称

如果你映射完后,还是发现无法访问,可以看看防火墙或者端口是否被占用。你也可以尝试去映射docekr中的80端口。

映射完成之后就可以通过你本机的ip+端口进行访问了!

二 删除某个镜像

查看全部镜像:

docker images

删除镜像:

docker rmi 755bf1020e02

 查看数据:

sudo docker info:显示系统级别的信息,比如容器和镜像的数量等。

docker container ls:默认只列出正在运行的容器,-a 选项会列出包括停止的所有容器。

docker image ls:列出镜像信息,-a 选项会列出 intermediate 镜像(就是其它镜像依赖的层)。

docker volume ls:列出数据卷。

docker network ls:列出 network。

整体查看占用情况:

docker system df

三 迁移docker

参考:windows docker虚拟磁盘文件迁移ext4.vhdx_@liwenyan@的博客-CSDN博客

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

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

相关文章

中介中心性算法原理与源码解析(Between Centrality)

前言 中介中心性(Between Centrality),或者叫介数中心性,是基于最短路径对关系图谱中节点的中心性进行测量的典型图论算法。和其它的图论中心性算法一样,中介中心性用来衡量社会关系网络中,个人、企业或者其它的实体在整个网络中…

stm32wb15cc蓝牙芯片学习

由于项目选型需要,初次接触stm32的蓝牙芯片,需要总体做一些学习。也记些笔记,防止遗忘。 一、主要的ST的蓝牙芯片 简单介绍一下主要ST的蓝牙芯片 1.1. STM32WB系列 这个系列的芯片是一个双核的MCU,相当于一个普通的STM32 MCU和…

全面分析低代码平台:各大热门产品详细对比

低代码平台彻底改变了企业构建和部署定制应用程序的方式。它们提供了一种用最少的代码,更快、更高效地开发软件的方法。使得公司在加快创新的同时节省了时间和资源。对于一些想进行数字化转型,选择低代码平台入门的中小企业来讲,应该选择哪个…

NTP时间服务器同步时钟系统安装汇总分享

在现代科技发展的背景下,各种设备的时间同步变得越来越重要。同步时钟管理系统的应用可以让多个设备在时间上保持一致,提高工作效率和安全性,为各个行业的发展提供了重要的支持。 一、同步时钟系统介绍 同步时钟管理系统的应用范围非常广泛&…

私有化部署的即时通讯软件:消息、文件安全加密,全面可控

如今,数字化转型进入纵深阶段,在企业数字化转型过程中,数据规模激增,结构更为复杂,数据零散化和安全性问题日益显著,使得众多企业在数据资产管理上面临不小的挑战。企业为提高内部沟通效率,通常…

C++源码分析完美转发

C源码分析完美转发 完美转发作用&#xff1a; 可以保持实参数据在函数中的左值或者右值类型。 不使用完美转发的后果 #include<iostream> using namespace std;// 容器里面元素的类型 class A { public:A() {}// 带左值引用参数的赋值函数A& operator(const A&…

24 KVM管理虚拟机-配置VNC-TLS登录

文章目录 24 KVM管理虚拟机-配置VNC-TLS登录24.1 概述24.2 操作步骤 24 KVM管理虚拟机-配置VNC-TLS登录 24.1 概述 VNC服务端和客户端默认采用明文方式进行数据传输&#xff0c;因此通信内容可能被第三方截获。为了提升安全性&#xff0c;openEuler支持VNC服务端配置TLS模式进…

在光伏行业的自动化生产中,EAP起到了什么作用?

随着可再生能源的快速发展和环保意识的增强&#xff0c;光伏行业作为一种清洁能源产业正迅速崛起。光伏生产过程的自动化已成为行业的追求和趋势。在光伏行业的自动化生产中&#xff0c;EAP&#xff08;设备自动化程序&#xff09;系统发挥着关键的作用&#xff0c;为生产线的运…

drawio@绘制带有latex公式的图表@示意图@流程图@白板模式whiteboard

文章目录 drawio绘制带有latex公式的图表示意图流程图白板模式whiteboard使用drawio小结 公式编辑Use mathematical typesetting in diagramsUse mathematical typesetting in diagramsTroubleshooting关于文本框元素公式渲染问题&#x1f388;Maths is not rendered 模式切换d…

【K哥爬虫普法】你很会写爬虫吗?10秒抢票、10秒入狱,了解一下?

我国目前并未出台专门针对网络爬虫技术的法律规范&#xff0c;但在司法实践中&#xff0c;相关判决已屡见不鲜&#xff0c;K 哥特设了“K哥爬虫普法”专栏&#xff0c;本栏目通过对真实案例的分析&#xff0c;旨在提高广大爬虫工程师的法律意识&#xff0c;知晓如何合法合规利用…

【TES745D】基于复旦微的FMQL45T900 全国产化ARM 核心模块(100%国产化)方案设计中文资料

板卡概述 TES745D 是一款基于上海复旦微电子FMQL45T900 的全国产化ARM 核心板。该核心板将复旦微的FMQL45T900&#xff08;与XILINX 的XC7Z045-2FFG900I 兼容&#xff09;的最小系统集成在了一个87*117mm 的 核心板上&#xff0c;可以作为一个核心模块&#xff0c;进行功能性扩…

主成分分析(PCA)直观理解与数学推导

近期在完成信息论的作业&#xff0c;发现网上的资料大多是直观解释&#xff0c;对其中的数学原理介绍甚少&#xff0c;并且只介绍了向量降维&#xff0c;而没有介绍向量重构的问题&#xff08;重构指的是&#xff1a;根据降维后的低维向量来恢复原始向量&#xff09;&#xff0…

Yolov5轻量化:MobileNetV3,轻量级骨架首选

1.轻量化网络简介 轻量化网络是指在保持模型性能的前提下,尽可能减小模型参数量和计算量的神经网络。这种网络通常被用于在移动设备等资源受限的场景中部署,以提高模型的实时性和运行效率。 轻量化网络的设计思路可以包括以下几个方面: 去除冗余层和参数:通过剪枝、蒸馏等技…

基于RT-Thread的lwip网卡优化笔记

基于RT-Thread的lwip网卡优化笔记 一、RT-Thread的lwip框架二、网卡驱动三、网卡吞吐速率测试四、网卡吞吐速率优化4.1 TCP参数优化4.2 lwip参数优化4.3 内存拷贝优化4.3.1 rt_memcpy优化4.3.2 使用uboot下的memcpy.S 4.4 网卡收发优化4.3.1 lwip发送优化4.4.2 网卡发送优化 一…

MyBatis查询各种类型数据该如何处理才能得到数据

文章目录 1、前言2、查询一个实体类对象字段名和属性名无法映射处理方式一&#xff1a;起别名方式二&#xff1a;使用全局配置文件配置映射规则方式三&#xff1a;自定义resultmap 3、查询一个list集合4、查询单个数据5、查询一条数据为map集合6、 查询多条数据为map集合方式一…

课程分享:华清远见联合NXP推出i.MX8M Plus开发与实践课程,超干超实用!

​课程名称&#xff1a; i.MX8M Plus开发与实践课程 课程介绍&#xff1a; i.MX8M Plus应用处理器是NXP推出的一款致力于推动机器学习&#xff08;ML&#xff09;&#xff0c;机器视觉&#xff0c;多媒体与工业边缘物联网应用的工业人工智能芯片。拥有4个ARM Cortex-A53核心…

远程桌面连接黑屏怎么解决?方法大全

远程桌面连接是一种非常有用的技术&#xff0c;它可以让用户从任何位置远程访问到其它计算机。然而&#xff0c;当你尝试连接到一个计算机时&#xff0c;你有可能会遇到远程桌面连接黑屏的问题。这个问题很常见&#xff0c;但是它可能会给你带来很多麻烦。在本文中&#xff0c;…

ssRender Plugin 基础

ssRender Plugin 基础 一.什么是Plugin ​ 插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。其只能运行在程序规定的系统平台下&#xff08;可能同时支持多个平台&#xff09;&#xff0c;而不能脱离指定的平台单独…

Windows安装配置Tomcat服务器教程 -- 外网远程访问

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 转载自cpolar文章&#xff1a;外网访问本地Tomcat服务器【cpolar内网穿透】…

【SpringBoot】五:Web服务---SpringMVC---控制器

文章目录 1 控制器介绍2 控制器工作流程3 控制器中的方法4 匹配请求路径到控制器方法5 RequestMapping6 控制器方法参数类型与可用返回值类型7 接收请求参数8 验证参数8.1 Bean Validation8.2 分组校验8.3 ValidationAutoConfiguration 1 控制器介绍 &#xff08;1&#xff09…