创建Docker实例容器步骤
安装步骤跳过,详见这个文章:Docker Desktop 安装使用教程
其中安装包可以用我这个点击下载
这个4.28.0-139021版本的可以汉化,
安装时直接把汉化文件中的app.asar文件替换到C:\Program Files\Docker\Docker\frontend\resources\app.asar
至此安装步骤结束
你可以通过以下步骤将你的项目复制到 Nginx 的工作目录:
1.打包你的项目:首先,你需要将你的项目打包成一个可以在 Nginx 上运行的格式。如果你的项目是一个 Vue.js 项目,你可以使用 npm run build
命令来打包你的项目。这将会在你的项目目录下生成一个 dist 文件夹,里面包含了你的打包好的项目,后端项目同理,先打包。
2.创建 Dockerfile:然后,你需要创建一个 Dockerfile
文件,这个文件描述了如何在 Docker 容器中运行你的项目。一个基本的 Dockerfile可能看起来像这样:
# 使用 Nginx 镜像
FROM nginx:latest
# 删除 Nginx 默认的配置
RUN rm /etc/nginx/conf.d/default.conf
# 添加自定义的 Nginx 配置
COPY nginx.conf /etc/nginx/conf.d
# 将打包好的项目复制到 Nginx 的工作目录
COPY ./dist /usr/share/nginx/html
# 暴露端口
EXPOSE 80
# 启动 Nginx
CMD ["nginx", "-g", "daemon off;"]
在这个 Dockerfile 中,COPY ./dist /usr/share/nginx/html
这行命令将会将你的 dist 文件夹复制到 Nginx 的工作目录 /usr/share/nginx/html
。
3.创建nginx.conf:创建一个nginx.conf
文件:
由于上一步中我们的Dockerfile中有添加自定义的 Nginx 配置这一条,所以要有对应的文件,等会运行时要用到。下面这就是个nginx配置文件的例子,如果自己有可以跳过这步用自己的
server {
listen 80;
server_name localhost;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_connect_timeout 5;
proxy_send_timeout 1800;
proxy_read_timeout 1800;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
auth_basic "status";
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
4.构建 Docker 镜像:然后,你可以使用 docker build
命令来根据你的 Dockerfile 构建一个 Docker 镜像。例如,你可以使用以下命令:
docker build -t my-project .
这个命令将会在当前目录(.)下查找 Dockerfile,并构建一个名为 my-project 的 Docker 镜像。
5.运行 Docker 容器:最后,你可以使用 docker run
命令来运行你的 Docker 容器。例如,你可以使用以下命令:
docker run -d -p 80:80 my-project
这个命令将会运行你的 my-project Docker 镜像,并将容器的 80 端口映射到你的主机的 80 端口。
6.现在,你应该可以通过访问 http://localhost
来查看你的项目了。
如何更新容器的项目文件?
重新构建 Docker 镜像:首先,你需要重新运行 docker build
命令来构建一个新的 Docker 镜像。这将会使用你最新的项目文件来构建镜像。例如:
docker build -t newdocker .
停止并删除旧的 Docker 容器:然后,你需要停止并删除正在运行的旧 Docker 容器。你可以使用 docker stop
命令来停止容器,然后使用 docker rm
命令来删除容器。例如,如果你的容器 ID 是 olddocker,你可以这样做:
docker stop olddocker
docker rm olddocker
运行新的 Docker 容器:最后,你可以使用 docker run
命令来运行新的 Docker 容器。这将会使用你刚刚构建的新 Docker 镜像。例如:
docker run -d -p 80:80 newdocker
另外,建议给daemon.json文件添加下面这段配置代码,这是拉取镜像失败的解决方案:
...
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]