Docker容器就是个虚拟机,如果你不知道什么是虚拟机,那Docker就是在你的操作系统上,复制了一份独立成一个小国家,五脏俱全,可以运行你的全部程序和环境。轻便微小,方便,代替了VM虚拟机的位置,本质上复制了一份linux的系统函数库,函数库可以让用户基于linux内核、引擎访问硬件。而且有意思的是,这一份函数库,能在任何操作系统上运行,windows、linux、any玩!
以简单的方式为您解释如何从GitHub下载一个项目并使用Docker进行部署!😊我用的是windows操作系统!
Overview of the get started guide | Docker Docs强烈建议阅读官方教程
步骤1: 下载项目
1. 打开您的浏览器并前往GitHub网站。
2. 在GitHub的搜索栏中输入您要下载的项目名称。
3. 找到项目后,点击项目的名称进入项目页面。
步骤2: 复制项目链接
1. 在项目页面,点击右上角的绿色按钮,上面写着 "Code"。
2. 在弹出的菜单中,点击 "HTTPS" 以获取项目的链接。复制该链接。
步骤3: 在本地计算机上克隆项目
1. 打开您的终端或命令提示符(Windows用户)。
2. 导航到您希望将项目保存的文件夹。
3. 在终端中运行以下命令,将项目克隆到您的计算机(将链接替换为您复制的链接):
git clone <项目链接>
例如:
git clone https://github.com/yourusername/yourproject.git
步骤4: 使用Docker部署项目
1. 确保您已经安装了Docker。
如果没有安装,请根据您的操作系统安装Docker(参考Docker官方文档)。
windows系统安装桌面工具即可Docker Desktop Installer.exe
链接:https://pan.baidu.com/s/1SekqrG4RRnw_4j9qDXMl4g?pwd=vk2f
提取码:vk2f
Linux 系统的话用一些命令安装。
点击下方链接看官方教材
Packaging your software | Docker Docs
2. 进入刚刚克隆的项目文件夹:
linux系统:
cd yourproject
windows系统,就通过系统自己打开就行!
3. 在项目文件夹中,创建Dockerfile文件
下载别人的项目,有人会把Dockerfile设计好!通常会有一个名为 `Dockerfile` 的文件
该文件用于定义Docker容器的配置,安装依赖项,复制执行主文件Main文件,你项目的主程序,设置环境变量、端口、启动应用程序。
如果项目没有,请查看项目文档以了解如何使用Docker。
然后打开(用记事本什么随便notepad++)进行内容编辑,这些命令可以参考官方
简单的来说就是,你的项目运行前所需要的全部依赖环境的命令!就像在一个主机上安装必备的环境一样!
Packaging your software | Docker Docs
# syntax=docker/dockerfile:1
FROM node:18-alpine
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
EXPOSE 3000
4. 开始构建Docker镜像
如是windows系统:在项目目录按住Shift+鼠标右键打开shell命令终端窗口输入创建镜像命令: docker build -t <自己拟定一个英文名字> .
5. 构建完成后运行一个Docker容器:
docker run -p <端口号>:<容器端口号> <镜像名称>
例如:
docker run -p 8080:80 myprojectimage
这会将容器的端口 8000 发布到http://localhost:8000
Docker 主机上。
以下是本项目运行的命令:
docker build -t chatgpt-web .
# 前台运行
docker run --name chatgpt-web --rm -it -p 127.0.0.1:3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web
# 后台运行
docker run --name chatgpt-web -d -p 127.0.0.1:3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web
# 运行地址
http://localhost:3002/
6.运行除了用命令!也可以用DockerDesktop
运行的时候可以设置环境变量和访问端口的映射端口!
恭喜你! 完成运行
现在就可以用浏览器去打开网站了!
现在,您的项目应该在Docker容器中运行,并且可以通过浏览器访问 `http://localhost:8080` 进行访问!。😄