返回列表

docker在服务器上部署静态文件

2026-03-18

如果你目前已经拥有镜像,那么就可以直接跳到最后一步启动镜像

如果你目前有一个写好了nginx配置文件和Dockerfile的项目,那你可以直接跳到倒数第二歩,构建镜像然后启动镜像。

  1. 上传静态资源文件到服务器上
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
0 条评论

发表评论

暂无评论,快来发表第一条评论吧!