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.

相关推荐
Tim风声(网络工程师)14 分钟前
DNS有关知识(根域名服务器、顶级域名服务器、权威域名服务器)
linux·运维·服务器
热爱跑步的恒川19 分钟前
告别服务器!Amazon Lambda无服务开发实战指南
运维·服务器
照物华30 分钟前
K8s概念之进程、容器与 Pod 的终极指南
云原生·容器·kubernetes
拾心2144 分钟前
【运维进阶】Shell 函数的知识与实践
运维
AI视觉网奇1 小时前
麒麟系统播放图片 速度比较
开发语言·python·pygame
言之。1 小时前
Django REST框架核心:GenericAPIView详解
数据库·python·django
这里有鱼汤1 小时前
别傻了,这些量化策略AI 10 秒就能帮你写好
后端·python
胡耀超1 小时前
机器学习数学基础与商业实践指南:从统计显著性到预测能力的认知升级
人工智能·python·机器学习·数据挖掘·数据分析·数据科学·统计学
you秀1 小时前
linux中的iptables的简介与常用基础用法
linux·运维·服务器
画中有画2 小时前
使用AI来实现拼多多自动化运营脚本
运维·人工智能·自动化·ai编程·rpa·自动化脚本