docker build -t mvp-api:v0.0.1 .
docker save -o mvp-api-v0.0.1.tar mvp-api:v0.0.1
使用scp
命令将mvp-api-v0.0.1.tar
文件从Windows本地传输到Ubuntu服务器。打开Windows的命令行工具,执行以下命令:
scp -P 22 mvp-api-v0.0.1.tar username@your_server_ip:/path/to/destination
这里的-P 22
指定了SSH端口,username
是你的服务器用户名,your_server_ip
是服务器的IP地址,/path/to/destination
是服务器上的目标路径。
登录到Ubuntu服务器,然后使用以下命令加载镜像:
docker load -i /path/to/destination/mvp-api-v0.0.1.tar
使用以下命令启动Docker容器,将容器的5001端口映射到服务器的5001端口:
docker run -d -p 5001:5001 --name mvp-api-container mvp-api:v0.0.1
在Ubuntu服务器上安装Nginx:
sudo apt-get update
sudo apt-get install nginx
编辑Nginx配置文件,为api.example.com
创建一个新的server块。你可以使用vim
或你喜欢的文本编辑器编辑配置文件:
sudo vim /etc/nginx/sites-available/api.example.com
添加以下配置:
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://127.0.0.1:5001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
保存并关闭文件。
启用配置并测试配置文件是否有语法错误:
sudo ln -s /etc/nginx/sites-available/api.example.com /etc/nginx/sites-enabled/
sudo nginx -t
如果配置文件没有错误,重启Nginx:
sudo systemctl restart nginx
为了使用HTTPS,你需要为你的域名获取SSL证书。可以使用Let's Encrypt免费证书。安装Certbot并获取证书:
sudo apt-get install certbot python3-certbot-nginx
sudo certbot --nginx -d api.example.com
Certbot会自动配置Nginx以使用HTTPS。
在浏览器中访问https://api.example.com
,检查是否能够正常访问API。