美文网首页
Nginx+HTML打包docker image镜像,并部署

Nginx+HTML打包docker image镜像,并部署

作者: 李小二的倔强 | 来源:发表于2022-11-14 15:21 被阅读0次

酒是穿肠毒药,色是刮骨钢刀,财是惹祸根苗,气是无烟火炮。
无酒不成宴席,无色人类灭绝,无财寸步难行,无气反被人欺。

方式一:

1、打包成镜像

上传静态文件到nginx指定目录

[root@localhost browser.odc]# pwd
/mnt/data/odc/browser.odc
[root@localhost browser.odc]# ll
total 24
-rw-r--r--. 1 root root    61 Nov  4 05:52 Dockerfile
-rw-r--r--. 1 root root 12862 Nov  6 22:07 favicon.ico
-rw-r--r--. 1 root root  1204 Nov  6 22:07 index.html
drwxr-xr-x. 5 root root    38 Nov  4 04:23 static
[root@localhost browser.odc]# 

编写dockerfile文件到当前目录,dockerfile内容如下:

[root@localhost browser.odc]# vim Dockerfile 
FROM nginx:1.22.1
ADD . /usr/share/nginx/html
EXPOSE 80                                                                                                                                                                                                                                         
[root@localhost browser.odc]# 

①打包是把使用的的nginx基础镜像是:nginx:1.22.1
②把当前目录的所有静态文件打包到镜像内 /usr/share/nginx/html
③打包好后的镜像对外开放80端口

执行命令进行打包image镜像

docker build -t  nginx-demo .

查看images

image.png
2、启动docker镜像

编写docker-compose文件

version: "3"
services:
  nginx:
    image: "nginx-demo:latest"
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    restart: always

启动命令:

docker-compose -f nginx-compose.yml up -d

nginx配置文件如下:

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        location / {
            #跟 Dockerfile文件中静态页面路径一致
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}
"nginx.conf" [dos] 52L, 1033C

方式二:

通过外部复制和内部更新配置的 方式打包镜像和发布

首先用nginx镜像,启动一个nginx

docker run -p 8001:80 imageid

进入容器内

docker exec -it 9bd138713777/bin/bash

需要在容器中修改配置文件,我们需要下载一个 vim 命令包

apt-get update
apt-get install vim -y

找到nginx默认的配置文件路径

vim /etc/nginx/config.d/default.conf

修改好了后保存文件
查看默认数据文件夹html的文件,如果和复制的有重复,需要删除,删除通过rm -rf 文件或者文件夹,可以直接删除

cd /usr/share/nginx/html/

exit,退出容器
在容器外部,通过命令将当前文件夹(.)的所有数据,复制到容器ID(e4b445366beb)的指定目录中(/usr/share/nginx/html)

docker cp . 9bd138713777://usr/share/nginx/html

复制后可以直接通过浏览器或者在本地通过curl http://ip:port 查看效果

将容器进行打包
容器ID(9bd138713777); 新镜像名称(nginx.image)

docker commit 容器ID 新镜像名称

镜像推送到阿里云仓库

#给镜像打标签
docker tag 9bd138713777 registry.cn-beijing.aliyuncs.com/opendatachain/nginx-demo:latest
#推送
docker push registry.cn-beijing.aliyuncs.com/opendatachain/nginx-demo:latest
拓展:

通过命令将镜像保存到本地文件夹

docker save -a ‘lixiaoer’ -m ‘description’ -o my_nginx.tar nginx.image:latest

镜像到其他服务上如何上传呢(本地文件加载成镜像)? 命令:

docker load -i nginx.image

相关文章

  • Nginx+HTML打包docker image镜像,并部署

    酒是穿肠毒药,色是刮骨钢刀,财是惹祸根苗,气是无烟火炮。无酒不成宴席,无色人类灭绝,无财寸步难行,无气反被人欺。 ...

  • Docker入门

    Docker概述 Docker为什么会出现? 将项目打包并带上部署环境(镜像),上传到Docker 仓库,下载镜像...

  • docker常用命令

    使用Dockerfile编译生成镜像 拉取远程镜像 docker save 打包(既可以对image打包也可以对c...

  • docker

    1 镜像 2 容器 基于镜像新建并启动docker run [OPTIONS] IMAGE [COMMAND] [...

  • docker操作容器和镜像管理

    镜像 1,查看镜像列表 docker image ls查看指定的镜像docker image ls ubuntu ...

  • Docker 命令

    列出docker镜像 docker image ls docker images docker image ls ...

  • master docker 4(镜像)

    1.查看镜像 docker image ls 2.查看镜像分层信息 docker image history 镜像...

  • Docker的三个基本概念(镜像、容器,仓库)

    镜像(image)容器(Container)仓库(repository) docker镜像: Docker 镜像,...

  • Docker命令

    Image docker images | docker image ls 列出镜像 docker rmi | d...

  • Docker基础操作

    Docker部署 Docker安装 镜像加速 Docker 基础命令 Docker镜像管理 搜索镜像docker ...

网友评论

      本文标题:Nginx+HTML打包docker image镜像,并部署

      本文链接:https://www.haomeiwen.com/subject/mdydxdtx.html