Docker通过Dockerfile创建Redis、Nginx--详细过程

创建Nginx镜像

我们先创建一个目录,在目录里创建Dockerfile

[root@docker-3 ~]# mkdir mynginx
[root@docker-3 ~]# cd mynginx
[root@docker-3 ~]# vim Dockerfile

Dockerfile的内容

FROM daocloud.io/library/centos:7
RUN buildDeps='readline-devel pcre-devel openssl-devel gcc telnet wget curl make' && \yum -y install $buildDeps && \yum clean all
RUN wget https://nginx.org/download/nginx-1.24.0.tar.gz && \tar zfx nginx-1.24.0.tar.gz -C /opt
RUN cd /opt/nginx-1.24.0 && \mkdir /usr/local/nginx && \./configure --prefix=/usr/local/nginx \--with-http_ssl_module \--with-http_stub_status_module && \make && make install && \rm -rf /usr/local/nginx/html/* && \echo "nihao" > /usr/local/nginx/html/index.html && \cd / && rm -rf /opt/nginx-1.24.0 && \ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV PATH /usr/local/nginx/sbin:$PATH
WORKDIR /usr/local/nginx
EXPOSE 80
CMD ["nginx","-g","daemon off;"]

开始构建,别忘了最后的  . 

[root@docker-3 mynginx]# docker build -t nginx:v1 .

构建过程

[+] Building 241.2s (9/9) FINISHED                                                                                  docker:default=> [internal] load build definition from Dockerfile                                                                          0.0s=> => transferring dockerfile: 824B                                                                                          0.0s=> [internal] load .dockerignore                                                                                             0.0s=> => transferring context: 2B                                                                                               0.0s=> [internal] load metadata for daocloud.io/library/centos:7                                                                 1.3s=> CACHED [1/5] FROM daocloud.io/library/centos:7@sha256:fe2347002c630d5d61bf2f28f21246ad1c21cc6fd343e70b4cf1e5102f8711a9    0.0s=> [2/5] RUN buildDeps='readline-devel pcre-devel openssl-devel gcc telnet wget curl make' &&     yum -y install $buildDe  210.5s=> [3/5] RUN wget https://nginx.org/download/nginx-1.24.0.tar.gz &&     tar zfx nginx-1.24.0.tar.gz -C /opt                  7.8s=> [4/5] RUN cd /opt/nginx-1.24.0 &&     mkdir /usr/local/nginx &&     ./configure --prefix=/usr/local/nginx     --with-ht  21.0s=> [5/5] WORKDIR /usr/local/nginx                                                                                            0.0s=> exporting to image                                                                                                        0.6s=> => exporting layers                                                                                                       0.6s=> => writing image sha256:0cef6f4d7d9fdb2438160b5df566e442fe72b2eb04150ac0504d5af34472fb9d                                  0.0s=> => naming to docker.io/library/nginx:v1                                                                                   0.0s

查看镜像

[root@docker-3 mynginx]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
nginx        v1        0cef6f4d7d9f   10 seconds ago   325MB

运行镜像

[root@docker-3 mynginx]# docker run -itd --name nginxv1 -p 80:80 nginx:v1
3ba682f5bb1f12b6c318903e6d8e83fe22c7e9769c196d361862152da2d4c29d
[root@docker-3 mynginx]# docker ps
CONTAINER ID   IMAGE      COMMAND                   CREATED         STATUS         PORTS                               NAMES
3ba682f5bb1f   nginx:v1   "nginx -g 'daemon of…"   7 seconds ago   Up 7 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   nginxv1

网页查看

创建Redis镜像

创建目录,在目录里创建Dockerfile

[root@docker-2 ~]# mkdir myRedis
[root@docker-2 ~]# cd myRdis
[root@docker-2 ~]# vim Dockerfile
FROM daocloud.io/library/centos:7
RUN yum -y install gcc gcc-c++ net-tools make wget \&& mkdir -p /data/application/ \&& wget https://download.redis.io/releases/redis-6.2.7.tar.gz \&& tar zxf redis-6.2.7.tar.gz -C  /data/application/
RUN cd /data/application \&& mv redis-6.2.7/ redis \&& cd redis/ \&& make \&& sed -i -e 's/bind 127.0.0.1 -::1/bind 0.0.0.0/g' ./redis.conf
EXPOSE 6379
ENTRYPOINT /data/application/redis/src/redis-server /data/application/redis/redis.conf

构建

[root@docker-2 myRedis]# docker build -t redis:v1 .

构建过程

[+] Building 0.1s (7/7) FINISHED                                                                                    docker:default=> [internal] load build definition from Dockerfile                                                                          0.0s=> => transferring dockerfile: 591B                                                                                          0.0s=> [internal] load .dockerignore                                                                                             0.0s=> => transferring context: 2B                                                                                               0.0s=> [internal] load metadata for daocloud.io/library/centos:7                                                                 0.0s=> [1/3] FROM daocloud.io/library/centos:7                                                                                   0.0s=> CACHED [2/3] RUN yum -y install gcc gcc-c++ net-tools make wget     && mkdir -p /data/application/     && wget https://d  0.0s=> CACHED [3/3] RUN cd /data/application     && mv redis-6.2.7/ redis     && cd redis/     && make     && mkdir /data/appli  0.0s=> exporting to image                                                                                                        0.0s=> => exporting layers                                                                                                       0.0s=> => writing image sha256:15c74862351b269ae259a12d6c8d43a4e68dd97db5363acdd7e965c885b33a15                                  0.0s=> => naming to docker.io/library/redis:v1                                                                                   0.0s

运行容器

[root@docker-2 myRedis]# vim Dockerfile 
[root@docker-2 myRedis]# docker images
REPOSITORY                   TAG       IMAGE ID       CREATED       SIZE
redis                        v1        15c74862351b   6 days ago    672MB
[root@docker-2 myRedis]# docker run -itd --name redis1 -p 6379:6379 redis:v1
dc76e2462b7ae0a63ed673bc2f247302a1bec336bc6320a5f67c5cd2051ebf41
[root@docker-2 myRedis]# docker ps
CONTAINER ID   IMAGE      COMMAND                   CREATED         STATUS         PORTS                                       NAMES
dc76e2462b7a   redis:v1   "/bin/sh -c '/data/a…"   4 seconds ago   Up 3 seconds   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   redis1

进入容器运行Redis

[root@docker-2 myRedis]# docker exec -it redis1 /bin/sh
sh-4.2# ls
anaconda-post.log  bin	data  dev  etc	home  lib  lib64  media  mnt  opt  proc  redis-6.2.7.tar.gz  root  run	sbin  srv  sys	tmp  usr  var
sh-4.2# cd data/application/redis/
sh-4.2# ./src/redis-cli 
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

我这里只修改了配置文件的bind,  如果有需要其他使用sed更改即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149150.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

代码:对鱼眼相机图像进行去畸变处理

图像投影模型:针孔[fx, fy, cx, cy] 图像畸变模型:切向径向畸变[k1, k2, p1, p2] 说明:用于备忘 第一部分是常规的去畸变操作,在已知内参的情况下对鱼眼相机进行去畸变,这里使用的是remap映射在对图像去畸变后&#x…

竞赛 机器视觉的试卷批改系统 - opencv python 视觉识别

文章目录 0 简介1 项目背景2 项目目的3 系统设计3.1 目标对象3.2 系统架构3.3 软件设计方案 4 图像预处理4.1 灰度二值化4.2 形态学处理4.3 算式提取4.4 倾斜校正4.5 字符分割 5 字符识别5.1 支持向量机原理5.2 基于SVM的字符识别5.3 SVM算法实现 6 算法测试7 系统实现8 最后 0…

Windows下启动freeRDP并自适应远端桌面大小

几个二进制文件 xfreerdp # Linux下的,an X11 Remote Desktop Protocol (RDP) client which is part of the FreeRDP project wfreerdp.exe # Windows下的,freerdp2.0 主程序,freerdp3.0将废弃 sdl-freerdp.exe # Windows下的&…

appscan的两种手动探索扫描方式

文章目录 一、使用火狐FoxyProxy浏览器代理探索二、使用appscan内置浏览器探索 一、使用火狐FoxyProxy浏览器代理探索 首先火狐浏览器需安装FoxyProxy 先在扩展和主题里搜FoxyProxy 选FoxyProxy Standard,然后添加到浏览器就行 添加后浏览器右上角会有这个插件 打开apps…

【算法学习】-【双指针】-【快乐数】

LeetCode原题链接:202. 快乐数 下面是题目描述: 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果…

cad图纸如何防止盗图(一个的制造设计型企业如何保护设计图纸文件)

在现代企业中,设计图纸是公司的重要知识产权,关系到公司的核心竞争力。然而,随着技术的发展,员工获取和传播设计图纸的途径越来越多样化,如何有效地防止员工复制设计图纸成为了企业管理的一大挑战。本文将从技术、管理…

【动手学深度学习-Pytorch版】Transformer代码总结

本文是纯纯的撸代码讲解,没有任何Transformer的基础内容~ 是从0榨干Transformer代码系列,借用的是李沐老师上课时讲解的代码。 本文是根据每个模块的实现过程来进行讲解的。如果您想获取关于Transformer具体的实现细节(不含代码)可…

MySQL的复合查询

文章目录 1. 多表查询2. 自连接3. 子查询3.1 单行子查询3.2 多行单列子查询3.3 单行多列子查询3.4 在from子句中使用子查询 4. 合并查询4.1 union all4.2 union 5. 内连接6. 外连接6.1 左外连接6.2 右外连接 1. 多表查询 前面我们讲解的mysql表的查询都是对一张表进行查询&…

哨兵(Sentinel-1、2)数据下载

哨兵(Sentinel-1、2)数据下载 一、登陆欧空局网站 二、检索 先下载2号为光学数据 分为S2A和S2B,产品种类有1C和2A,区别就是2A是做好大气校正的影像,当然数量也会少一些,云量检索条件中记得要按格式&#x…

Mind Map:大语言模型中的知识图谱提示激发思维图10.1+10.2

知识图谱提示激发思维图 摘要介绍相关工作方法第一步:证据图挖掘第二步:证据图聚合第三步:LLM Mind Map推理 实验实验设置医学问答长对话问题使用KG的部分知识生成深入分析 总结 摘要 LLM通常在吸收新知识的能力、generation of hallucinati…

一键AI高清换脸——基于InsightFace、CodeFormer实现高清换脸与验证换脸后效果能否通过人脸比对、人脸识别算法

前言 1、项目简介 AI换脸是指利用基于深度学习和计算机视觉来替换或合成图像或视频中的人脸。可以将一个人的脸替换为另一个人的脸,或者将一个人的表情合成到另一个人的照片或视频中。算法常常被用在娱乐目上,例如在社交媒体上创建有趣的照片或视频,也有用于电影制作、特效…

Qt model/view 理解01

在 Qt 中对数据处理主要有两种方式:1)直接对包含数据的的数据项 item 进行操作,这种方法简单、易操作,现实方式单一的缺点,特别是对于大数据或在不同位置重复出现的数据必须依次对其进行操作,如果现实方式改…

44 二叉搜索树中第K个小的元素

二叉搜索树中第K个小的元素 题解1 中序遍历题解2 AVL(手撕平衡二叉树:谢谢力扣官方) 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数&#xf…

再来介绍另一个binlog文件解析的第三方工具my2sql

看腻了文字就来听听视频演示吧:https://www.bilibili.com/video/BV1rp4y1w74B/ github项目:https://github.com/liuhr/my2sql gitee链接:https://gitee.com/mirrors/my2sql my2sql go版MySQL binlog解析工具,通过解析MySQL bin…

Maven 中引用其他项目jar包出现BOOT-INF问题

问题 在B项目中引入A项目的类,但是发现怎么也引入不进来 A项目打包之后,想在B项目中引用jar 在B项目中发现类文件无法引用 参考网上进行清缓存等一系列操作都没有解决。 最后发现引用的jar包中包含BOOT-INF, 然后去A项目中查找&#xff…

基于回溯搜索优化的BP神经网络(分类应用) - 附代码

基于回溯搜索优化的BP神经网络(分类应用) - 附代码 文章目录 基于回溯搜索优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.回溯搜索优化BP神经网络3.1 BP神经网络参数设置3.2 回溯搜索算法应用 4.测试结果…

基于MFC和OpenCV实现人脸识别

基于MFC和OpenCV实现人脸识别 文章目录 基于MFC和OpenCV实现人脸识别1. 项目说明1. 创建项目2. 启动窗口3. 登录窗口-添加窗口、从启动窗口跳转4. 启动窗口-美化按钮5. 登录窗口-美化按钮、雪花视频6. 注册窗口-美化按钮、雪花视频、从启动窗口跳转7. 注册窗口-开启摄像头8. 注…

大恒IFrameData IImageData转bmp HObject Mat

大恒工业相机采集的帧数据转为其他8bit图像格式 C#转为bmp格式转为Halcon的HObject格式转为OpenCVSharp的Mat格式 回调采集图像的数据类型为IFrameData,单帧采集的数据类型为IImageData,两者的区别为IImageData类多了一个**Destroy()**方法 C# 转为bm…

C++标准模板(STL)- 类型支持 (定宽整数类型)(int8_t,int_fast8_t,int_least8_t,intmax_t,intptr_t)

定宽整数类型 类型 定义于头文件 <cstdint> int8_tint16_tint32_tint64_t (可选) 分别为宽度恰为 8、16、32 和 64 位的有符号整数类型 无填充位并对负值使用补码 &#xff08;仅若实现支持该类型才提供&#xff09; (typedef) int_fast8_tint_fast16_tint_fast32_tint…

第二章 线性表

线性表 线性表的基本概念线性表的顺序存储线性表顺序存储的类型定义线性表基本运算在顺序表上的实现顺序表实现算法的分析 线性表的链接存储单链表的类型定义线性表的基本运算在单链表上的实现 其他运算在单链表上的实现建表删除重复结点 其他链表循环链表双向循环链表 顺序实现…