Docker虚拟化技术系列之-DockerFile配置

简介:

随着Docker管理的任务增多,我们需要用Dockerfile进行docker容器管理,这样可以减轻人工的操作,让docker管理更加的方便,快捷:

Dockerfile是一个镜像的完整描述,可以通过Dockerfile来描述构建镜像的步骤,并自动构建一个容器。

所有的 Dockerfile 命令格式都是:

INSTRUCTION arguments

虽然指令忽略大小写,但是建议使用大写。

FROM 命令

FROM <image>

FROM <image>:<tag>

这个设置基本的镜像,为后续的命令使用,所以应该作为Dockerfile的第一条指令。

比如:

FROM centos:v1

如果没有指定 tag ,则默认tag是latest,如果都没有则会报错。

RUN 命令

RUN命令会在上面FROM指定的镜像里执行任何命令,然后提交(commit)结果,提交的镜像会在后面继续用到。

两种格式:

RUN <command> (the command is run in ashell - `/bin/sh -c`)

或:

RUN ["executable","param1", "param2" ... ] (exec form)

RUN命令等价于:

docker run image command

docker commit container_id

编写Dockerfile实战

根据上面的操作步骤,在docker服务器端创建Dockerfile文件,内容如下:

设置基本的镜像,后续命令都以这个镜像为基础
FROM centos:v1
# 作者信息
MAINTAINER JFEDU.NET
# RUN命令会在上面指定的镜像里执行任何命令
RUN yum install passwd openssl openssh-server-y
RUN echo '123456' | passwd --stdin root
RUN ssh-keygen -q -t rsa -b 2048 -f/etc/ssh/ssh_host_rsa_key -N ''
RUN ssh-keygen -q -t ecdsa -f/etc/ssh/ssh_host_ecdsa_key -N ''
RUN sed -i '/^session\s\+required\s\+pam_loginuid.so/s/^/#/'/etc/pam.d/sshd
RUN mkdir -p /root/.ssh && chownroot.root /root && chmod 700 /root/.ssh
#对外暴露SSH 22端口
EXPOSE 22
# 设定运行镜像时的默认命令:输出ip,并以daemon方式启动sshd
CMD ip addr ls eth0 | awk '{print $2}' | egrep-o '([0-9]+\.){3}[0-9]+';/usr/sbin/sshd -D



本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1899837
相关文章
|
2月前
|
弹性计算 运维 Linux
Docker环境如何配置?使用阿里云OOS一步搞定!
阿里云OOS简化了ECS上应用部署,提供Docker一键安装服务。支持多种操作系统,包括Alibaba Cloud Linux、CentOS、Ubuntu、Debian和Windows Server。要安装Docker,用户只需在OOS扩展程序中选择并确认实例,执行安装。OOS扩展程序还支持Java、Python等开发环境及宝塔面板、WordPress等应用的快速配置,提升运维效率,让云资源管理更便捷。
53488 3
Docker环境如何配置?使用阿里云OOS一步搞定!
|
4天前
|
消息中间件 PHP 数据安全/隐私保护
docker安装rabbitmq并配置hyperf使用
通过以上步骤,您可以实现在Docker容器中安装和配置RabbitMQ,并在PHP的Hyperf框架中进行集成和使用。这种方式为开发者提供了快速部署并实现消息队列解决方案的能力,同时维持了环境与生产环境的一致性,从而为开发高效的分布式应用程序提供了便利。
10 3
docker安装rabbitmq并配置hyperf使用
|
4天前
|
安全 网络协议 云计算
Docker容器网络配置详解
【7月更文挑战第16天】Docker的网络配置是实现容器间以及容器与外部网络通信的基础。通过选择合适的网络模式和配置选项,可以构建高效、安全、可扩展的Docker网络解决方案。
|
18天前
|
运维 数据安全/隐私保护 Docker
docker(五):DockerFile
docker(五):DockerFile
26 0
docker(五):DockerFile
|
23天前
|
缓存 Linux Docker
CentOS 7 下安装 Docker 及配置阿里云加速服务
CentOS 7 下安装 Docker 及配置阿里云加速服务
348 1
|
15天前
|
Linux Docker 容器
Docker02--搭建Linux环境,配置Docker,docker images无法访问,因为docker没有启动,阿里云镜像加速器免费的
Docker02--搭建Linux环境,配置Docker,docker images无法访问,因为docker没有启动,阿里云镜像加速器免费的
|
22天前
|
Docker 容器
在 EAS 构建中使用其他 Docker 功能,如自定义 Dockerfile 或多阶段构建
在 EAS 构建中使用其他 Docker 功能,如自定义 Dockerfile 或多阶段构建
|
22天前
|
运维 Serverless 文件存储
函数计算产品使用问题之在利用Docker镜像部署应用时,容器内的应用如何能访问函数计算配置的NAS挂载
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
23天前
|
关系型数据库 MySQL Nacos
使用 Docker 部署 Nacos 并配置 MySQL 数据源
使用 Docker 部署 Nacos 并配置 MySQL 数据源
177 0
|
25天前
|
Java C++ Docker
Docker再学习 - 阿里加速配置篇
Docker再学习 - 阿里加速配置篇
72 0