静态网站创建 docker 镜像并推送到阿里云
1. 首先在一个文件夹中准备三个文件(夹)
- 1.1 静态网站所在目录
/dist
- 1.2
Dockerfile
镜像构建文件
- 1.3
default.conf
nginx 默认配置文件
2. Dockerfile
文件
# 拉取 nginx 镜像
FROM nginx:latest
# 将静态网站文件夹拷贝到 nginx 镜像中的对应文件夹中
COPY ./dist /usr/share/nginx/html/
# 将 nginx 配置文件拷贝到 nginx 镜像中对应文件夹中
COPY ./default.conf /etc/nginx/conf.d/
# 声明暴露端口号为 9000
EXPOSE 9000
3. default.conf
nginx 默认配置文件
server {
# nginx 监听的端口号
listen 9000;
server_name localhost;
# jetlinks 文档中要求
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
# 路径匹配
location / {
# 静态文件所在文件夹,需与 Dockerfile 中配置一样
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
# jetlinks 文档要求,用以链接 jetlinks 后端
location ^~/jetlinks/ {
proxy_pass http://42.192.123.52:8848/; #修改此地址为后台服务地址
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_connect_timeout 1;
proxy_buffering off;
chunked_transfer_encoding off;
proxy_cache off;
proxy_send_timeout 30m;
proxy_read_timeout 30m;
client_max_body_size 100m;
}
}
4. 开始构建镜像并运行容器
# 开始构建镜像 -t 构建镜像的名称 . 表示当前目录
docker build -t qiaoyu/jetlinks_ui_big_screen:v1 .
# 根据构建出的镜像创建运行容器
# -i 以交互模式运行容器,通常与 -t 同时使用
# -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
# -d 后台运行容器,并返回容器ID
# -p docker 容器内外端口映射
# --name 运行容器的名称
# 最后跟上容器镜像的名称
docker run -itd -p 9000:9000 --name jetlinks_ui_big_screen qiaoyu/jetlinks_ui_big_screen:v1
5. 将 docker 镜像同步推送保存到阿里云中
- 首先在阿里云容器镜像服务中创建该镜像仓库
- 在本地 docker 环境中登陆阿里云 Docker Registry
docker login --username=qiaoyurens****@163.com registry. cn-hangzhou.aliyuncs.com
- 在本地为需要推送到阿里云的镜像大个标记,将其归入某一仓库
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/qiaoyu/jetlinks_ui_big_screen:[镜像版本号]
- 将本地镜像推送到阿里云平台中
docker push registry.cn-hangzhou.aliyuncs.com/qiaoyu/jetlinks_ui_big_screen:[镜像版本号]