面试题答案
一键面试前期准备
- 安装 Docker:在部署服务器上安装对应操作系统版本的 Docker 环境,如在 Linux 系统通过官方脚本安装,Windows 需开启 Hyper - V 后安装 Docker Desktop。
- 确定应用依赖:明确 Visual Basic 应用程序所依赖的运行库、数据库驱动等,比如可能依赖 Microsoft Visual Basic 运行时库。
- 准备基础镜像:选择合适的基础镜像,由于 Visual Basic 应用通常运行在 Windows 环境,可选用 Windows Server Core 镜像,例如
mcr.microsoft.com/windows/servercore:ltsc2022
。
镜像构建
- 编写 Dockerfile:
- 基于基础镜像:在项目根目录创建
Dockerfile
,以 Windows Server Core 镜像为例,开头写FROM mcr.microsoft.com/windows/servercore:ltsc2022
。 - 设置工作目录:使用
RUN mkdir -p C:/app
创建应用工作目录,WORKDIR C:/app
设置当前工作目录。 - 复制应用文件:将 Visual Basic 应用程序文件及其依赖文件复制到容器内,如
COPY. C:/app
。 - 安装依赖:若有运行库等依赖,可通过下载安装包并运行安装程序的方式安装,例如运行 Visual Basic 运行时库安装程序
RUN powershell -Command "Invoke - WebRequest - Uri <runtime_download_url> - OutFile runtime_installer.exe; Start - Process - FilePath.\runtime_installer.exe - ArgumentList '/quiet' - Wait"
。 - 设置容器启动命令:指定应用程序的启动命令,如
CMD ["C:/app/your_app.exe"]
。
- 基于基础镜像:在项目根目录创建
- 构建镜像:在包含
Dockerfile
的目录下,打开命令行工具,执行docker build -t your_image_name:tag.
,your_image_name
为自定义镜像名,tag
为版本标签,最后的.
表示当前目录。
容器运行
- 运行容器:执行
docker run -d -p host_port:container_port your_image_name:tag
,-d
表示以守护进程方式运行,host_port
是宿主机映射端口,container_port
是容器内应用监听端口,若应用未监听网络端口可不设置端口映射。例如docker run -d -p 8080:80 your_image_name:1.0
将容器内 80 端口映射到宿主机 8080 端口。 - 验证应用:通过浏览器或相关客户端工具,根据应用提供的服务类型,使用宿主机 IP 和映射端口访问应用,验证是否正常运行。