Docker虚拟化技术系列之-DockerFile案例演练

简介:

Dockfile是一种被Docker程序能够解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。

Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。

相比镜像这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明镜像是怎么产生的。有了Dockerfile,我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成镜像即可。

给大家分享几个常用的案例,DockerFile企业案例实战,开放80端口和22端口配置案例:

1)开启SSH 22端口,并远程连接服务器,dockerfile内容如下:

设置基本的镜像,后续命令都以这个镜像为基础

FROM centos_lamp:v1

作者信息

MAINTAINER JFEDU.NET

# RUN命令会在上面指定的镜像里执行任何命令

RUN yum install passwd openssl openssh-server -y

RUN echo '123456' | passwd --stdin root

RUN mkdir /var/run/sshd

#暴露ssh端口22

EXPOSE  22

#设定运行以daemon方式启动sshd

CMD /usr/sbin/sshd -D

wKiom1ir5W_RJrhZAACvyqnHwvE778.png-wh_50

2)开启Apache 80端口,并远程连接服务器,dockerfile内容如下:

设置基本的镜像,后续命令都以这个镜像为基础

FROM centos_lamp:v1

作者信息

MAINTAINER JFEDU.NET

# RUN命令会在上面指定的镜像里执行任何命令

RUN yum install pcre-devel -y

RUN yum install httpd httpd-devel -y

#暴露ssh端口80

EXPOSE 80

#启动httpd

CMD ["/usr/sbin/apachectl", "-D","FOREGROUND"]

wKioL1ir5YyQb4AEAACEV5KzZbs835.png-wh_50

最终截图如下:

wKiom1ir5aDxFZ-7AAC0kWT7lF4326.png-wh_50

到此结束了吗?远远没有哦,思考一个问题,如何同时开放多个端口呢,例如802280803306端口对外访问呢?


本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1899844
相关文章
|
21天前
|
运维 数据安全/隐私保护 Docker
docker(五):DockerFile
docker(五):DockerFile
28 0
docker(五):DockerFile
|
25天前
|
Docker 容器
在 EAS 构建中使用其他 Docker 功能,如自定义 Dockerfile 或多阶段构建
在 EAS 构建中使用其他 Docker 功能,如自定义 Dockerfile 或多阶段构建
|
2月前
|
数据库 Docker 容器
【Docker 专栏】使用 Dockerfile 自动化构建 Docker 镜像
【5月更文挑战第8天】Dockerfile是构建Docker镜像的关键,它包含一系列指令,用于描述应用运行环境及所需软件包。通过自动化构建,能提高效率、保证可重复性并提升灵活性。确定基础镜像、安装依赖、设置环境后,执行Dockerfile生成镜像,用于应用程序部署。虽然需要熟悉Docker技术和应用细节,但其带来的益处使其成为现代软件开发和部署的重要工具。
【Docker 专栏】使用 Dockerfile 自动化构建 Docker 镜像
|
1月前
|
缓存 Linux 开发工具
win10下docker desktop:使用dockerfile基于CentOS:8创建可以使用vim的镜像
win10下docker desktop:使用dockerfile基于CentOS:8创建可以使用vim的镜像
84 0
|
1月前
|
Cloud Native Java Docker
java一分钟之-Docker化Java应用:Dockerfile与镜像构建
【6月更文挑战第6天】本文探讨了Docker在Java应用部署中的重要性,强调了Dockerfile在保证环境一致性和提升部署效率上的作用。Dockerfile是自动化构建Docker镜像的文本文件,它的使用能实现标准化、可重复性和透明度。文章指出了编写Dockerfile时的常见问题,如指令误用、镜像体积过大和安全性不足,并提供了相应的解决策略。通过一个Spring Boot应用的实战示例,展示了如何编写Dockerfile和构建镜像。总之,掌握Dockerfile和镜像构建技巧对于优化Java应用的云原生部署至关重要。
67 0
|
2月前
|
监控 测试技术 虚拟化
Docker的介绍及与传统虚拟化技术的区别
Docker是开源的容器化平台,用于构建、分发和运行容器化应用。它包含Docker镜像(只读模板)、容器(运行实例)和引擎(运行时环境)。Docker提供灵活性、轻量级、隔离性和可扩展性,便于应用在不同环境一致运行。其拥有活跃的开源生态系统和丰富的资源。
27 1
|
2月前
|
Linux 开发工具 Docker
Ubantu docker学习笔记(三)docker账号push及Dockerfile优化
Ubantu docker学习笔记(三)docker账号push及Dockerfile优化
|
2月前
|
存储 SQL 数据库
虚拟化数据恢复—ESXI虚拟机误还原快照的数据恢复案例
虚拟化技术原理是将硬件虚拟化给不同的虚拟机使用,利用虚拟化技术可以在一台物理机上安装多台虚拟机。误操作或者物理机器出现故障都会导致虚拟机不可用,虚拟机中的数据丢失。 虚拟化数据恢复环境: 有一台虚拟机是由物理机迁移到ESXI上面的,迁移完成后为该虚拟机做了一个快照。虚拟机上运行了一个SQL Server数据库,记录了5年左右的数据。 该ESXI上共有二十几台虚拟机,EXSI连接一台某品牌EVA存储,所有的虚拟机(包括故障虚拟机)都存放在该EVA存储上。
|
2月前
|
存储 Linux KVM
虚拟化技术之KVM安装与使用
虚拟化技术之KVM安装与使用
|
2月前
|
大数据 Linux KVM
【云计算与大数据技术】虚拟化技术、开源技术Xen、KVM、OpenVZ的讲解(图文解释 超详细)
【云计算与大数据技术】虚拟化技术、开源技术Xen、KVM、OpenVZ的讲解(图文解释 超详细)
144 0