前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Docker Python应用程序示例

Docker Python应用程序示例

作者头像
黑洞代码
发布于 2022-01-24 06:42:14
发布于 2022-01-24 06:42:14
66700
代码可运行
举报
运行总次数:0
代码可运行

1.创建一个目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p ~/Downloads/code/docker/docker-python-app

1.进入目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/Downloads/code/docker/docker-python-app/

1.创建一个名称为:Dockerfile的Dockerfile文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FROM python
COPY . /Users/michael/Downloads/code/docker/
CMD ["python", "/Users/michael/Downloads/code/docker/index.py"]

1.创建一个Python文件

创建一个在Docker容器中执行的python文件:index.py。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print("Hello from python file");

1.创建Docker映像

要创建这个python应用程序的Docker映像,需要使用以下Docker命令。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo docker build -t python-app .

[+] Building 148.9s (7/7) FINISHED                                                                                                        
 => [internal] load build definition from Dockerfile                                                                                 0.0s
 => => transferring dockerfile: 164B                                                                                                 0.0s
 => [internal] load .dockerignore                                                                                                    0.0s
 => => transferring context: 2B                                                                                                      0.0s
 => [internal] load metadata for docker.io/library/python:latest                                                                    16.3s
 => [internal] load build context                                                                                                    0.0s
 => => transferring context: 229B                                                                                                    0.0s
 => [1/2] FROM docker.io/library/python@sha256:dbbfcbf95f6b596d2be1d8f3b368016619f78f829facf6f2e361bea1151794e5                    132.2s
 => => resolve docker.io/library/python@sha256:dbbfcbf95f6b596d2be1d8f3b368016619f78f829facf6f2e361bea1151794e5                      0.0s
 => => sha256:0e29546d541cdbd309281d21a73a9d1db78665c1b95b74f32b009e0b77a6e1e3 54.92MB / 54.92MB                                    78.9s
 => => sha256:9b829c73b52b92b97d5c07a54fb0f3e921995a296c714b53a32ae67d19231fcd 5.15MB / 5.15MB                                       3.7s
 => => sha256:a5d7930b60cc41d81b2b1d47efb5d26f7fafb587c97e539002dce3f85e1b51d2 8.61kB / 8.61kB                                       0.0s
 => => sha256:12163d44217be06a4e38f412fe3dc0bc5eaf4b161bb33cb3e92dbaa778e841fc 2.22kB / 2.22kB                                       0.0s
 => => sha256:cb5b7ae361722f070eca53f35823ed21baa85d61d5d95cd5a95ab53d740cdd56 10.87MB / 10.87MB                                    14.4s
 => => sha256:dbbfcbf95f6b596d2be1d8f3b368016619f78f829facf6f2e361bea1151794e5 2.60kB / 2.60kB                                       0.0s
 => => sha256:6494e4811622b31c027ccac322ca463937fd805f569a93e6f15c01aade718793 54.57MB / 54.57MB                                    27.5s
 => => sha256:6f9f74896dfa93fe0172f594faba85e0b4e8a0481a0fefd9112efc7e4d3c78f7 196.51MB / 196.51MB                                 114.9s
 => => sha256:fcb6d5f7c98604476fda91fe5f61be5b56fdc398814fb15f7ea998f53023e774 6.29MB / 6.29MB                                      30.9s
 => => sha256:290438add9daf4296e8ff2f1f1e79ede5d3bb3ee3640f44849427cb3b6157720 19.11MB / 19.11MB                                    41.1s
 => => sha256:ab11df61f44a6b77209e00a28457ff8da743102aa2007d2278ebc9845fa17d38 234B / 234B                                          41.3s
 => => sha256:de4793a5fa46b1a184779f1aff361a64f9bba216d01af8fa63135d5c11bc5a01 2.35MB / 2.35MB                                      42.9s
 => => extracting sha256:0e29546d541cdbd309281d21a73a9d1db78665c1b95b74f32b009e0b77a6e1e3                                            4.7s
 => => extracting sha256:9b829c73b52b92b97d5c07a54fb0f3e921995a296c714b53a32ae67d19231fcd                                            0.6s
 => => extracting sha256:cb5b7ae361722f070eca53f35823ed21baa85d61d5d95cd5a95ab53d740cdd56                                            0.7s
 => => extracting sha256:6494e4811622b31c027ccac322ca463937fd805f569a93e6f15c01aade718793                                            6.6s
 => => extracting sha256:6f9f74896dfa93fe0172f594faba85e0b4e8a0481a0fefd9112efc7e4d3c78f7                                           13.5s
 => => extracting sha256:fcb6d5f7c98604476fda91fe5f61be5b56fdc398814fb15f7ea998f53023e774                                            0.6s
 => => extracting sha256:290438add9daf4296e8ff2f1f1e79ede5d3bb3ee3640f44849427cb3b6157720                                            1.4s
 => => extracting sha256:ab11df61f44a6b77209e00a28457ff8da743102aa2007d2278ebc9845fa17d38                                            0.0s
 => => extracting sha256:de4793a5fa46b1a184779f1aff361a64f9bba216d01af8fa63135d5c11bc5a01                                            0.4s
 => [2/2] COPY . /Users/michael/Downloads/code/docker/                                                                               0.2s
 => exporting to image                                                                                                               0.0s
 => => exporting layers                                                                                                              0.0s
 => => writing image sha256:df1ae254aacff5a5760df890cce01f8c4489e43a35d39cf64f6e5878e6ae01fd                                         0.0s
 => => naming to docker.io/library/python-app

1.查看可用的Docker映像

可以通过以下命令查看所有可用的Docker映像。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker images
REPOSITORY      TAG       IMAGE ID       CREATED              SIZE
python-app      latest    df1ae254aacf   About a minute ago   917MB
mysql           5.7       f07dfa83b528   12 months ago        448MB
redis           5         5a3c8e192943   13 months ago        98.4MB
logstash        7.6.2     fa5b3b1e9757   21 months ago        813MB
elasticsearch   7.6.2     f29a1ee41030   21 months ago        791MB
hello-world     latest    bf756fb1ae65   2 years ago          13.3kB
rabbitmq        3.7.15    b3639fca0afd   2 years ago          149MB
nginx           1.10      0346349a1a64   4 years ago          182MB

1.运行Docker

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo docker run python-app
Password:
Hello from python file
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 落叶飞翔的蜗牛 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
理解Task和和async await
本文将详解C#类当中的Task,以及异步函数async await和Task的关系
ryzenWzd
2020/11/12
2.4K0
理解Task和和async await
C#多线程和异步(二)——Task和async/await详解
  同步和异步主要用于修饰方法。当一个方法被调用时,调用者需要等待该方法执行完毕并返回才能继续执行,我们称这个方法是同步方法;当一个方法被调用时立即返回,并获取一个线程执行该方法内部的业务,调用者不用等待该方法执行完毕,我们称这个方法为异步方法。
zls365
2021/02/26
7.2K0
Thread、ThreadPool、Task、Parallel、Async和Await基本用法、区别以及弊端
ThreadPool是Thread的一个升级版,ThreadPool是从线程池中获取线程,如果线程池中又空闲的元素,则直接调用,如果没有才会创建,而Thread则是会一直创建新的线程,要知道开启一个线程就算什么事都不做也会消耗大约1m的内存,是非常浪费性能的,接下来我们写一个例子来看一下二者的区别:
AI.NET 极客圈
2019/08/14
1.8K0
C#学习笔记 线程同步
多个线程同时操作一个数据的话,可能会发生数据的错误。这个时候就需要进行线程同步了。线程同步可以使用多种方法来进行。下面来逐一说明。本文参考了《CLR via C#》中关于线程同步的很多内容。
乐百川
2022/05/05
5850
.NET 各版本多线程使用原理与实践
多线程编程是现代应用程序开发中的核心技术,尤其是在需要并发处理或提升性能的场景中。本文将以 .NET 各版本为背景,详细探讨多线程技术的发展、底层原理以及实践方法。
Michel_Rolle
2024/11/19
2.1K0
C#13中线程同步的作用域锁
C# 13 引入了新的功能,旨在让编码变得更简单、更高效。其中的一个亮点是通过 System.Threading.Lock 类引入的作用域锁功能。这让线程同步变得更加简单,并减少了多线程程序中的错误。
郑子铭
2025/02/18
650
C#13中线程同步的作用域锁
异步与多线程——c#
异步这概念刚开始接触的时候,不是那么容易接受,但是需要用的地方还真的挺多的,刚学习的时候,也很懵逼走了不少弯路,所以这里有必要总结一下。 msdn文档:https://docs.microsoft.com/en-us/dotnet/standard/asynchronous-programming-patterns/ 官方的简介: *.NET Framework提供了执行异步操作的三种模式: 异步编程模型(APM)模式(也称为IAsyncResult的模式),其中异步操作要求Begin和End方法(例如,BeginWrite和EndWrite异步写入操作)。这种模式不再被推荐用于新开发。有关更多信息,请参阅异步编程模型(APM)。
vv彭
2021/01/07
1.7K0
异步与多线程——c#
【深入浅出C#】章节 9: C#高级主题:多线程编程和并发处理
多线程编程和并发处理的重要性和背景 在计算机科学领域,多线程编程和并发处理是一种关键技术,旨在充分利用现代计算机系统中的多核处理器和多任务能力。随着计算机硬件的发展,单一的中央处理单元(CPU)已经不再是主流,取而代之的是多核处理器,这使得同时执行多个任务成为可能。多线程编程允许开发人员将一个程序拆分成多个线程,这些线程可以并行执行,从而提高程序的性能和响应速度。 为什么多线程在现代应用中至关重要?
喵叔
2023/08/26
4.9K0
C# 多线程编程入门教程
随着硬件性能的提升,尤其是多核CPU的广泛应用,多线程编程已经成为现代软件开发中的核心技能之一。多线程可以让程序在多个核心上并发运行,提高效率和性能。然而,编写多线程程序并不是一件简单的事情,尤其是要处理线程间的同步问题,以避免数据竞争和死锁等问题。
Michel_Rolle
2024/09/23
2.6K0
C#学习笔记 线程同步问题
生产者消费者问题大体是这样的:有几个生产者和几个消费者,共享一个缓冲区。生产者会向缓冲区中添加数据;消费者会从缓冲区中将数据取走。需要处理这两者之间的同步问题。
乐百川
2022/05/05
3600
.NET Thread、Task或Parallel实现多线程的使用总结
多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
郑子铭
2023/08/30
3360
.NET Thread、Task或Parallel实现多线程的使用总结
浅谈.Net异步编程的前世今生----TPL篇
我们在此前已经介绍了APM模型和EAP模型,以及它们的优缺点。在EAP模型中,可以实时得知异步操作的进度,以及支持取消操作。但是组合多个异步操作仍需大量工作,编写大量代码方可完成。
独立观察员
2022/12/06
4710
浅谈.Net异步编程的前世今生----TPL篇
C# dotnet 自己实现一个线程同步上下文
昨天鹏飞哥问了我一个问题,为什么在控制台程序的主线程等待某个线程执行完成之后回来,是在其他线程执行的。而 WPF 在等待某个线程执行完成之后,可以回到主线程执行。其实这是因为在 WPF 和 WinForms 和 ASP.NET 框架里面都自己实现了线程同步上下文,通过线程同步上下文做到调度线程执行。本文就来和小伙伴聊一下如何自己实现一个线程同步上下文
林德熙
2020/05/12
1.1K0
C# 中的线程与任务 — 有什么区别?
在C#编程中,类(class)是一种让我们可以同时执行任务的方式,允许我们在程序的其他部分继续运行时执行代码。尽管现代C#开发人员通常使用Task来管理并发性,但Thread类提供了更多的线程行为控制,这使得它在需要进行低级别线程操作时非常有用。
郑子铭
2025/01/07
1760
C# 中的线程与任务 — 有什么区别?
为什么 Random.Shared 是线程安全的
在多线程环境中使用 Random 类来生成伪随机数时,很容易出现线程安全问题。例如,当多个线程同时调用 Next 方法时,可能会出现种子被意外修改的情况,导致生成的伪随机数不符合预期。
newbe36524
2023/08/23
2830
c#线程-线程同步
如果有多个线程同时访问共享数据的时候,就必须要用线程同步,防止共享数据被破坏。如果多个线程不会同时访问共享数据,可以不用线程同步。 线程同步也会有一些问题存在: 1、性能损耗。获取,释放锁,线程上下文建切换都是耗性能的。 2、同步会使线程排队等待执行。
苏州程序大白
2021/08/13
7700
从 ThreadLocal 到 AsyncLocal
前些天跟大佬们在群里讨论如何在不使用构造函数,不增加方法参数的情况下把一个上下文注入到方法内部使用,得出的结论是 AsyncLocal 。感叹自己才疏学浅,居然才知道有 AsyncLocal 这种神器。于是赶紧恶补一下。
MJ.Zhou
2021/11/18
5540
C#多线程(14):任务基础②
上一篇,我们学习了任务的基础,学会多种方式场景任务和执行,异步获取返回结果等。上一篇讲述的知识比较多,这一篇只要是代码实践和示例操作。
痴者工良
2021/04/26
7390
使用C#封装一个多线程测试工具
这个工具可以帮助开发者测试多线程程序的性能、线程安全性和并发问题。我们将实现以下功能:
软件架构师Michael
2025/01/24
1080
[C#] Task.CompletedTask和Task.Result什么时候用?
在学习C#中的Task方法时,可以知道Task启动一个异步线程方法可以用Task.Run()进行,具体可以参看附录部分。
科控物联
2023/09/01
2.2K0
[C#] Task.CompletedTask和Task.Result什么时候用?
相关推荐
理解Task和和async await
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档