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.

相关推荐
小二·9 小时前
Python Web 开发进阶实战:性能压测与调优 —— Locust + Prometheus + Grafana 构建高并发可观测系统
前端·python·prometheus
C_心欲无痕10 小时前
Dockerfile:构建 Docker 镜像
运维·docker·容器
zz_nj10 小时前
工作的环境
linux·运维·服务器
七牛云行业应用10 小时前
重构实录:我删了 5 家大模型 SDK,只留了 OpenAI 标准库
python·系统架构·大模型·aigc·deepseek
知乎的哥廷根数学学派10 小时前
基于多模态特征融合和可解释性深度学习的工业压缩机异常分类与预测性维护智能诊断(Python)
网络·人工智能·pytorch·python·深度学习·机器学习·分类
C_心欲无痕11 小时前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
一人の梅雨11 小时前
亚马逊SP-API商品详情接口轻量化实战:合规与商业价值提取指南
python
suijishengchengde11 小时前
****LINUX时间同步配置*****
linux·运维
幻云201011 小时前
AI自动化编排:从入门到精通(基于Dify构建AI智能系统)
运维·人工智能·自动化
qiuqyue11 小时前
基于虹软Linux Pro SDK的多路RTSP流并发接入、解码与帧级处理实践
linux·运维·网络