docker || nginx镜像制作

这篇具有很好参考价值的文章主要介绍了docker || nginx镜像制作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    1.以centos7作为基础镜像
    2.安装好ip,vim,ping命令
    3.编译安装nginx(编写脚本)
    4.使用指定的配置文件nginx.conf  
    5.启动容器的时候启动nginx
    6.网站的网页上传到容器里: 
            1.直接做到镜像里
            2.使用数据卷挂载使用    
            /usr/local/nginx1/conf

需要哪些东西?
    1.nginx的安装脚本  install_nginx.sh -->源码
    https://nginx.org/download/nginx-1.23.1.tar.gz
    2.Dockerfile

    3.编译安装nginx的配置文件


第一步:新建文件夹nginx

[root@manger mynginx]# mkdir nginx
[root@manger mynginx]# cd nginx/

第二步:下载nginx源码包

[root@manger nginx]# wget https://nginx.org/download/nginx-1.23.1.tar.gz
--2023-07-11 16:04:19--  https://nginx.org/download/nginx-1.23.1.tar.gz
正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5702::6, ...
正在连接 nginx.org (nginx.org)|3.125.197.172|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1104352 (1.1M) [application/octet-stream]
正在保存至: “nginx-1.23.1.tar.gz”

100%[===============================================================>] 1,104,352   4.67KB/s 用时 2m 23s 

2023-07-11 16:06:45 (7.52 KB/s) - 已保存 “nginx-1.23.1.tar.gz” [1104352/1104352])

[root@manger nginx]# ls
nginx-1.23.1.tar.gz

第三步:编写一键安装nginx的脚本

[root@manger nginx]# cat install_nginx.sh 
#!/bin/bash

#解决依赖关系
yum install -y  zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake make

#新建/nginx目录
mkdir -p /nginx

#进入/nginx
cd /nginx

#解压下载的nginx源码包
tar xf nginx-1.23.1.tar.gz
cd nginx-1.23.1

#编译前配置
./configure --prefix=/usr/local/nginx1  --with-threads --with-http_ssl_module    --with-http_stub_status_module --with-stream

#编译
make

#编译安装
make install

第四步:编写Dockerfile

[root@manger nginx]# cat Dockerfile 
FROM centos:7
ENV NGINX_VERSION 1.23.1
ENV AUTHOR jack
ENV PATH=/usr/local/nginx1/sbin:$PATH
LABEL maintainer="jack<231234847@qq.com>"
RUN mkdir /nginx
COPY . /nginx
WORKDIR /nginx
RUN set -ex; \
	bash install_nginx.sh; \
	yum install vim iputils net-tools iproute -y
EXPOSE 80
STOPSIGNAL SIGQUIT
CMD ["nginx","-g","daemon off;"]

[root@manger nginx]# ls
Dockerfile  install_nginx.sh  nginx-1.23.1.tar.gz

第五步:制作镜像

[root@manger nginx]# docker build -t sancnginx:1.0 .
[+] Building 136.0s (10/10) FINISHED                                                      docker:default
 => [internal] load build definition from Dockerfile                                                0.0s
 => => transferring dockerfile: 376B                                                                0.0s
 => [internal] load .dockerignore                                                                   0.0s
 => => transferring context: 2B                                                                     0.0s
 => [internal] load metadata for docker.io/library/centos:7                                         4.6s
 => [1/5] FROM docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d3  0.0s
 => [internal] load build context                                                                   0.0s
 => => transferring context: 580B                                                                   0.0s
 => CACHED [2/5] RUN mkdir /nginx                                                                   0.0s
 => [3/5] COPY . /nginx                                                                             0.0s
 => [4/5] WORKDIR /nginx                                                                            0.0s
 => [5/5] RUN set -ex;  bash /nginx/install_nginx.sh;  yum install vim iputils net-tools iproute  129.2s
 => exporting to image                                                                              2.1s
 => => exporting layers                                                                             2.1s
 => => writing image sha256:cdd45d93df0329061058c3ad763e0067c61b65d6641c2cbfcd11c4a1ae67cda7        0.0s 
 => => naming to docker.io/library/sancnginx:1.0                                                    0.0s 

[root@manger nginx]# docker images                                                                       
REPOSITORY   TAG       IMAGE ID       CREATED             SIZE                                           
sancnginx    1.0       cdd45d93df03   27 seconds ago      627MB

第六步:使用制作的镜像启动一个容器

[root@manger nginx]# docker run -d -p 4477:80 --name sanc-nginx-1 sancnginx:1.0
d7cb44d1db8c8245fdfc14d9d060ca274527b28ebe5bc63d2231e5a05f199eae

[root@manger nginx]# docker ps
CONTAINER ID   IMAGE           COMMAND                   CREATED             STATUS             PORTS                                   NAMES
d7cb44d1db8c   sancnginx:1.0   "nginx -g 'daemon of…"   2 seconds ago       Up 1 second        0.0.0.0:4477->80/tcp, :::4477->80/tcp   sanc-nginx-1

第七步:测试访问

http://192.168.2.140:4477/

nginx镜像,docker,docker,nginx,linux

 第八步:把编译安装nginx的配置文件从容器里拷贝出来

[root@manger nginx]# docker cp sanc-nginx-1:/usr/local/nginx1/conf/nginx.conf .
Successfully copied 4.61kB to /mynginx/nignx/.
[root@manger nginx]# ls
Dockerfile  install_nginx.sh  nginx-1.23.1.tar.gz  nginx.conf

第九步:修改nginx.conf配置文件;修改Dockerfile

[root@manger nginx]# vim nginx.conf 
worker_processes  2;

events {
    worker_connections  4096;
}

    server {
        listen       8080;
        server_name  localhost;
         
[root@manger nginx]# cat Dockerfile 
FROM centos:7
ENV NGINX_VERSION 1.23.1
ENV AUTHOR jack
ENV PATH=/usr/local/nginx1/sbin:$PATH
LABEL maintainer="jack<231234847@qq.com>"
RUN mkdir /nginx
COPY . /nginx
WORKDIR /nginx
RUN set -ex; \
	bash install_nginx.sh; \
	yum install vim iputils net-tools iproute -y
EXPOSE 8080
COPY ./nginx.conf  /usr/local/nginx1/conf
STOPSIGNAL SIGQUIT
CMD ["nginx","-g","daemon off;"]

第十步:重新制作镜像

[root@manger nginx]# docker build -t sancnginx:1.1 .
[+] Building 246.0s (10/10) FINISHED                                                      docker:default
 => [internal] load build definition from Dockerfile                                                0.0s
 => => transferring dockerfile: 378B                                                                0.0s
 => [internal] load .dockerignore                                                                   0.0s
 => => transferring context: 2B                                                                     0.0s
 => [internal] load metadata for docker.io/library/centos:7                                         1.8s
 => [1/5] FROM docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d3  0.0s
 => [internal] load build context                                                                   0.0s
 => => transferring context: 15.49kB                                                                0.0s
 => CACHED [2/5] RUN mkdir /nginx                                                                   0.0s
 => [3/5] COPY . /nginx                                                                             0.0s
 => [4/5] WORKDIR /nginx                                                                            0.0s
 => [5/5] RUN set -ex;  bash /nginx/install_nginx.sh;  yum install vim iputils net-tools iproute  241.9s
 => exporting to image                                                                              2.3s
 => => exporting layers                                                                             2.3s
 => => writing image sha256:099da6fe30d76ec400ebe70e1d38479ea4ed52757d4f8b89ed99dfe24705ea17        0.0s 
 => => naming to docker.io/library/sancnginx:1.1                                                    0.0s 
[root@manger nginx]# docker images                                                                       
REPOSITORY   TAG       IMAGE ID       CREATED              SIZE                                          
sancnginx    1.1       099da6fe30d7   About a minute ago   627MB
 

第十一步:创建卷

[root@manger nginx]# docker volume create sc
sc

[root@manger nginx]# docker volume ls
DRIVER    VOLUME NAME
local     sc
local     test-vol

[root@manger nginx]# docker volume inspect sc
[
    {
        "CreatedAt": "2023-07-11T17:32:36+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/sc/_data",
        "Name": "sc",
        "Options": null,
        "Scope": "local"
    }
]

[root@manger nginx]# cd /var/lib/docker/volumes/sc/_data/
[root@manger _data]# echo "hello world,welcome to changshasanchuang" >>index.html
[root@manger _data]# ls
index.html

[root@manger _data]# cat index.html 
hello world,welcome to changshasanchuang

第十二步:使用新制作的镜像启动容器并且使用卷挂载

[root@manger nginx]# docker run -d --name sanc-nginx-2 -p 3388:8080 --mount source=sc,target=/usr/local/nginx1/html sancnginx:1.1
0796781cfcd6bc20e548b3c79cf1d61bec1f4b83f678738c4a7480fd19c3b146

[root@manger nginx]# docker ps
CONTAINER ID   IMAGE           COMMAND                   CREATED          STATUS          PORTS                                       NAMES
0796781cfcd6   sancnginx:1.2   "nginx -g 'daemon of…"   6 seconds ago    Up 5 seconds    0.0.0.0:3388->8080/tcp, :::3388->8080/tcp   sanc-nginx-2

第十三步:测试访问

http://192.168.2.140:4477/

nginx镜像,docker,docker,nginx,linux

 文章来源地址https://www.toymoban.com/news/detail-716730.html

到了这里,关于docker || nginx镜像制作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux centos安装google chrome浏览器使用headless无头模式 制作docker镜像

    chromedriver 驱动下载地址: https://npm.taobao.org/mirrors/chromedriver/ linux centos安装google chrome浏览器使用headless无头模式 用java开发爬虫,或者需要java操作控制浏览器来渲染页面,抓取页面元素,都需要在linux安装google chrome浏览器,然后就可以通过chrome driver来连接操作chrome浏览器了,

    2024年02月09日
    浏览(47)
  • Dockerfile制作Nginx应用镜像

    创建Dockerfile 创建镜像 上传镜像-harbor 修改hosts文件 修改daemon.json 重启DOCKER 登录并上传 测试镜像

    2024年02月12日
    浏览(29)
  • Dockerfile制作Web应用系统nginx镜像

    目录 1.所需实现的具体内容 2.编写Dockerfile Dockerfile文件内容: 默认网页内容: 3.构建镜像 4.现在我们运行一个容器,查看我们的网页是否可访问 5.现在再将我们的镜像打包并上传到镜像仓库 基于centos基础镜像。 指定作者信息。 安装nginx服务,将提供的dest目录(提供默认主页

    2024年02月12日
    浏览(35)
  • 编写Dockerfile制作Web应用系统nginx镜像

    编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下: 基于centos基础镜像; 指定作者信息; 安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录; 暴露80端口; 设置

    2024年02月11日
    浏览(40)
  • 编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。

    环境: CentOS 7 Linux 3.10.0-1160.el7.x86_64 具体要求如下: (1)基于centos基础镜像; (2)指定作者信息; (3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录; (4)暴露80端口; (5)设置服务自启动。 (

    2024年02月11日
    浏览(31)
  • docker 制作tomcat镜像

    需要下载tomcat安装包和jdk安装包,我这边下载的jdk版本分别为(jdk和tomcat版本需要对应上) 创建一个readme.txt空文件 创建一个Dockerfile文件 构建镜像 查看镜像 创建容器并启动容器

    2024年02月14日
    浏览(31)
  • docker 镜像的制作

    本文主要介绍镜像制作,以及周边比如镜像支持中文等问题 将本机系统里主要文件打成tar 包,然后编写dockerfile.txt 文件,最后docker build,以下以centos 7.9 为例 2.1.1 制作tar 包 2.1.2 编写dockerfile.txt 可以借鉴dockerhub 官网的的dockerfile 2.1.3 制作docker image centos79dockerfile.txt 跟systemcent

    2024年02月09日
    浏览(38)
  • docker镜像制作

    FROM:指定构建使用的基础镜像,FROM命令必须写在其他的指令前 MAINTAINER:用于为Dockerfile署名 ADD:复制文件并解压到镜像中的指定位置 ENV:设置镜像中的环境变量 COPY:类似于ADD,将CentOS7中的文件赋值到镜像中的某个位置 RUN:普通命令,后面紧跟具体的操作指令 EXPOSE:声明

    2023年04月22日
    浏览(27)
  • docker制作镜像

    docker制作镜像有两种: 1.docker  build dockerfile  2.基于容器制作镜像 语法:docker  commit   options  容器名称 参数: -a:作者 -c:修改dockfile创建的镜像 -m:提交信息 -p:在提交期间暂停容器  例子: 一台主机可以有多个dockerfile,并且dockerfile中涉及的文件需要和当前dockerfile同

    2024年02月14日
    浏览(32)
  • Docker镜像与制作

    Docker镜像是没有内核的,镜像在启动为容器后将直接使用宿主机的内核。 Docker镜像的制作分为了手动制作和自动制作(基于DockerFile) 先准备一个目录, 编写Dockerfile文件 在该目录下编写nginx.conf文件 构建docker镜像: -f 后跟Dockerfile所在的路径 -t 后跟构建的镜像名 :v1 表示版本

    2024年02月04日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包