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.

相关推荐
2501_91278408几秒前
Taocarts全链路反向海淘系统实战拆解:一个人+一台服务器,如何做到日处理200单?
运维·服务器·跨境电商·taocarts
程序猿追3 分钟前
在轻量服务器上部署商汤SenseNova U1轻量版全记录
运维·服务器
天天爱吃肉821816 分钟前
2026北京车展专题|电控产品及技术全景解读:集成化、高压化、碳化硅成主流
人工智能·python·功能测试·嵌入式硬件·汽车
biter down24 分钟前
5:GUI自动化等待机制
运维·python·自动化
明志数科25 分钟前
数据标注质量评估:从指标体系到自动化质检的完整方案
运维·自动化
liux352831 分钟前
K8s 排坑 01:Pod 一直 Pending 怎么办?
云原生·容器·kubernetes
光影少年34 分钟前
前端浏览器自动化
运维·前端·前端框架·自动化
运维老郭1 小时前
Kubernetes Pod 从创建到运行全流程拆解:5 个阶段 + 排错实录
运维·云原生·kubernetes
广州灵眸科技有限公司1 小时前
瑞芯微(EASY EAI)RV1126B ubuntu系统SDK源码获取
linux·运维·ubuntu
萌新小码农‍1 小时前
Python的input函数
java·前端·python