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
相关文章
|
13天前
|
存储 Linux 调度
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
44 0
|
3天前
|
应用服务中间件 nginx Docker
Docker镜像-基于DockerFile制作编译版nginx镜像
这篇文章介绍了如何基于Dockerfile制作一个编译版的nginx镜像,并提供了详细的步骤和命令。
43 17
Docker镜像-基于DockerFile制作编译版nginx镜像
|
2天前
|
KVM 虚拟化
虚拟化技术概述及KVM环境安装
关于虚拟化技术概述及KVM环境安装的教程,涵盖了虚拟化的定义、分类、管理工具,以及KVM的系统需求、安装步骤和使用指南。
19 11
虚拟化技术概述及KVM环境安装
|
3天前
|
应用服务中间件 Linux nginx
Docker镜像-基于DockerFile制作yum版nginx镜像
本文介绍了如何使用Dockerfile制作一个基于CentOS 7.6.1810的yum版nginx镜像,并提供了详细的步骤和命令。
36 20
|
9天前
|
运维 开发者 Docker
Docker容器化技术在运维中的应用实践
【8月更文挑战第27天】本文旨在探讨Docker容器化技术如何在现代运维工作中发挥核心作用,通过深入浅出的方式介绍Docker的基本概念、优势以及实际应用场景。文章将结合具体案例,展示如何利用Docker简化部署流程、提高资源利用率和加强应用的可移植性。读者将获得对Docker容器技术在实际运维中应用的全面认识,并能够理解其在提升运维效率与质量方面的重要性。
|
13天前
|
存储 监控 Linux
在Linux中,如何进行虚拟化技术的应用?
在Linux中,如何进行虚拟化技术的应用?
|
5天前
|
Kubernetes Cloud Native 开发者
探索云原生技术:从Docker到Kubernetes的旅程
【8月更文挑战第31天】云原生技术正在改变软件开发、部署和运维的方式。本文将带你了解云原生的核心概念,并通过实际代码示例,展示如何使用Docker容器化应用,并进一步通过Kubernetes进行集群管理。我们将一起构建一个简单的微服务架构,体验云原生带来的高效与便捷。
|
5天前
|
应用服务中间件 Java Maven
掌控视图的力量!深入解析 JSF 视图管理,揭秘视图生命周期的秘密,让你的应用更高效!
【8月更文挑战第31天】JavaServer Faces (JSF) 是一种强大的框架,用于管理 Web 应用程序的视图。本文通过具体案例介绍 JSF 视图管理的基础知识,包括创建、管理和销毁视图的过程。首先,在 Eclipse 中创建一个新 JSF 项目,并配置 Maven 依赖。接着,在 `WEB-INF` 目录下配置 `web.xml` 文件,设置 JSF servlet。
17 0
|
5天前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【8月更文挑战第31天】 在云原生的世界里,容器技术是基石。本文将带你了解如何通过Kubernetes和Docker这两个强大的工具,搭建起你的云原生应用架构。我们将一起探索它们如何相互配合,提升开发与运维的效率。准备好了吗?让我们启航,探索云原生的奥秘!
|
5天前
|
Cloud Native 云计算 开发者
云原生技术实践:Docker容器化部署示例
【8月更文挑战第31天】本文通过深入浅出的方式,介绍了如何在云计算时代利用Docker容器技术实现应用的快速部署和高效管理。文章不仅解释了Docker的基本概念和优势,还提供了详细的操作步骤和代码示例,帮助初学者轻松入门。让我们一起探索云原生的世界,解锁应用部署的新姿势!
下一篇
DDNS