Docker:3、在VSCode上安装并运行python程序或JavaScript程序

1.VSCode上安装并运行python程序:

1.1.安装Docker插件

1.2.新建自动化脚本DockerFile

dockerfile 复制代码
FROM python:3.-slim-buster 
WORKDIR /app 
COPY .. 
RUN pip3 install -r requirements.txt 
CMD ["python3", "app.py"]
  • COPY <本地路径><目标路径>,第一个点代表根目录下的所有文件,第二个点表示当前的工作路径。
  • RUN允许我们在创建镜像时运行任意的shell命令。
  • Pip install 来安装Python程序的所需库。
  • CMD来指定当Docker容器运行之后要执行的命令

1.3.创建镜像

打开vscode终端,输入命令

shell 复制代码
docker build -t yourImageName .
  • -t 后面跟的参数yourImageName应该替换成你要创建的镜像的名字。
  • 最后的.告诉docker应该在当前目录下寻找这个Dockerfile

再输入docker images或者docker image ls命令,查看docker创建的镜像列表里面是否包含刚刚我们创建的镜像。

1.4.启动容器

打开vscode终端,输入命令

shell 复制代码
docker run -p 80:50000 -d yourImageName
  • -p 后面跟的参数是本机端口
  • :后面跟的是映射的docker容器的端口
  • -d 让容器在后台运行,这样容器的输出就不会直接显示在控制台上。

也可以不进行端口映射,直接启动

shell 复制代码
docker run yourImageName

或者在dockerdesktop中进行启动

1.5.通过dockerdesktop动态监督

dockerdesktop可以查看程序的动态数据。

2.VSCode上安装并运行js程序:

2.0.准备js程序

新建一个文件夹docker_learn,里面新建一个index.js文件,文件内只有一行代码

js 复制代码
console.log("快速上手docker");

vscode的控制台里跳转到这个文件所在的目录,并输入命令node index.js

此时发现控制台成功打印数据。那么js程序算准备好

注意:如果控制台提示说【node : 无法将"node"项识别为 cmdlet、函数、脚本文件或可运行程序的名称。】

说明nodejs没有安装或者环境变量没有配置好。请安装或配置好后再继续以下步骤。

2.1.安装Docker插件

同1.1

2.2.新建自动化脚本DockerFile

现在我们在项目中再新建一个Dockerfile文件。注意文件名开头大写。

Dockerfile 复制代码
FROM node:14-alpine
COPY index.js /index.js
CMD node /index.js
  • from命令指定一个基础镜像。这里的alpineredhatcentos一样,都属于linux发行版的一种,但是它是轻量级的,只有几十兆。
  • copy命令表示复制应用程序到镜像中。第一个参数为源路径,指的是相对于Dockerfile文件的路径。第二个参数是目标路径,是相当于镜像的路径。
  • cmd命令第一个参数表示可执行程序的名字。第二个参数表示可执行程序接收到的参数。

2.3.创建镜像

同1.3

2.4.启动容器

同1.4

2.5.通过dockerdesktop动态监督

同1.5.

相关推荐
可涵不会debug3 分钟前
UU远程深度测评:重构远程控制体验的“无套路”标杆
运维·服务器
峰顶听歌的鲸鱼19 分钟前
1.云计算与服务器基础
运维·服务器·笔记·云计算·学习方法
波诺波23 分钟前
通用装饰器示例
开发语言·python
IDOlaoluo31 分钟前
dotnet-sdk-5.0.400-linux-x64.tar.gz 安装教程(Linux 手动安装 .NET 5.0.400 SDK 步骤)
运维·服务器
2501_9159184132 分钟前
iOS 混淆与 IPA 加固一页式行动手册(多工具组合实战 源码成品运维闭环)
android·运维·ios·小程序·uni-app·iphone·webview
程序员爱钓鱼1 小时前
Python编程实战 · 基础入门篇 | 变量与命名规范
后端·python
007php0071 小时前
猿辅导Java面试真实经历与深度总结(二)
java·开发语言·python·计算机网络·面试·职场和发展·golang
一勺菠萝丶1 小时前
在 macOS 上用 Docker 为 Java 后端 & 常见开发需求搭建完整服务(详尽教程)
java·macos·docker
惊鸿.Jh1 小时前
C++可变参数模板
开发语言·python
扶尔魔ocy1 小时前
【DIY】RS232串口监听头制作
运维·rs232