docker在服务器上部署静态文件
2026-03-18
如果你目前已经拥有镜像,那么就可以直接跳到最后一步启动镜像
如果你目前有一个写好了nginx配置文件和Dockerfile的项目,那你可以直接跳到倒数第二歩,构建镜像然后启动镜像。
- 上传静态资源文件到服务器上
scp 本地文件路径 root@196.0.0.1:服务器路径
//scp guess root@196.0.0.1:local 把本地的guess文件上传到服务器的local目录里
2.在服务器下载docker
yun install docker
3.在docker中下载nginx
docker pull nginx:1.14
4.查看docker已经安装的镜像
docker images
5.在服务器中进入local目录
cd local
6.生成nginx配置文件 nginx.conf
touch nginx.conf
7.编辑nginx.conf文件
vim nginx.conf
7.在文件中写入以下配置
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
server {
listen 80 default_server;
server_name _;
location / {
root /usr/share/nginx/html;
index index.html ;
try_files $uri $uri/ /index.html;
}
}
}
8.回到local目录下创建Dockerfile文件
touch Dockerfile
9.编辑Dockerfile文件
vim Dockerfile
10.在Dockerfile文件写入以下配置
FROM nginx:1.14
ADD ./guess-number/ /usr/share/nginx/html
ADD nginx.conf /etc/nginx/
EXPOSE 8080
11.构建镜像
docker build -t demo . //demo是镜像名字
12.启动镜像
docker run -d -p 3002:80 demo
//-d: 后台运行容器,并返回容器ID
//-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
访问部署的静态地址服务器id:3002,注意服务器要确认防火墙是否放开3002端口,使用telnet 服务器id 端口号来确认服务器是否对外开放该端口,图中3002端口为已开放,8080为开放,可以去服务器管理网页找到防火墙增加端口

docker 镜像打包成tar包
docker save 镜像id > image.tar
docker载入镜像
docker load < image.tar
docker删除本地镜像
docker rmi 镜像名
docker删除本地容器
docker rm 容器id
docker取消正在运行的容器
docker stop 容器id
docker打镜像选择平台
docker build --platform linux/amd64 -t pandachat .
查看端口情况
lsof -i:端口号
显示 tcp,udp 的端口和进程等相关情况
- -t (tcp) 仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化为数字
- -l 仅列出在Listen(监听)的服务状态
- -p 显示建立相关链接的程序名
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
杀掉进程
kill -9 PID