虚拟化技术—docker容器—Dockerfile篇

什么是Dockerfile?

按照平时,我们都需要先让一个容器跑起来,然后进去搭建制定自己的服务,那有没有更简洁的方法呢?Dockerfile就是为了更方便的制定容器的。

首先先看Dockerfile里的一些定义,这里从网上截了个图,比较形象:

创建目录:

要先把需要的软件包放在同一个目录下

编写Dockerfile,这里要特别提醒,Dockerfile编写需要非常注意空格!!!

vim Dockerfile

添加:

# This is My first Dockerfile

# Version 1.0

# Author: syk

#Base images

FROM centos

#MAINTAINER

MAINTAINER yongkang.shi

#ADD

ADD pcre-8.38.tar.gz /usr/local/src

ADD nginx-1.8.1.tar.gz /usr/local/src

#RUN

RUN yum install -y wget gcc gcc-c++ make openssl-devel

RUN useradd -s /sbin/nologin -M www

#WORKDIR

WORKDIR /usr/local/src/nginx-1.8.1

RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.38 && make && make install

RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf

ENV PATH /usr/local/nginx/sbin:$PATH

#EXPOSE

EXPOSE 80

#CMD

CMD ["nginx"]

运行命令创建容器:

docker build -t nginx-file:v2 /opt/docker-file/nginx/

最后会提示构建成功:

docker ps -a查看一下:

时间: 2024-12-16 22:09:10

虚拟化技术—docker容器—Dockerfile篇的相关文章

虚拟化技术—docker容器—安装篇

核心概念 1. 镜像 是一个只读的模板类似于安装系统用到的那个iso文件我们通过镜像来完成各种应用的部署. 2. docker容器 镜像类似于操作系统而容器类似于虚拟机本身.它可以被启动.开始.停止.删除等操作每个容器都是相互隔离的. 3. docker仓库 存放镜像的一个场所仓库分为公开仓库和私有仓库. 最大的公开仓库是Docker hubhub.docker.com国内公开仓库http://dockerpool.com/ 一.安装 centos6 上安装(6.5之前版本需要升级一下 yum

虚拟化技术—docker容器—网络模式

Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理.然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分.因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求.这里先介绍Docker自身的4种网络工作方式. 1. Docker的4种网络模式 我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: § host模式,使用--net=host指定

虚拟化技术—docker容器—PIPEWORK解读与实践

本文通过3个样例 -- 将Docker容器配置到本地网络环境中.单主机Docker容器的VLAN划分.多主机Docker容器的VLAN划分,演示了如何使用pipework帮助我们进行复杂的网络设置,以及pipework是如何工作的. 1.pipework的使用以及源码分析 Docker自身的网络功能比较简单,不能满足很多复杂的应用场景.因此,有很多开源项目用来改善Docker的网络功能,如pipework.weave.flannel等.这里,就先介绍一下pipework的使用和工作原理. pip

虚拟化技术—docker容器—web UI篇

docker官方提供了一个web UI界面管理容器和镜像,名为:shipyard 先修改一下配置文件 vim /etc/sysconfig/docker 添加: other_args="-H tcp://0.0.0.0:235 -H unix:///var/run/docker.sock" 注:centos7使用OPTIONS="-H tcp://0.0.0.0:235 -H unix:///var/run/docker.sock" 重启: /etc/init.d/

虚拟化技术—docker容器—管理篇

一.我们怎么更方便的进去已经start的容器呢? nsenter:可以通过这个命令进去docker的images里 首先获取一个容器的id: docker inspect --format " {{.State.Pid}}" centos_with_nettools 获取一个id 10592 nsenter --target 10592 --mount --yts --ipc --net 这样就进去了,当然这样很麻烦,所以可以写一个脚本: cat in.sh CNAME=$1 CPID

Docker容器基础篇——镜像、容器

一.docker简介 1. 什么是容器? 容器技术是一种虚拟化的方案,与传统虚拟机不同,传统虚拟机是通过中间层将一台或多台独立的机器虚拟运行于物理硬件之上,而容器则是直接运行于操作系统内核之上的用户空间.因此,容器虚拟化也被称为操作系统虚拟化. Docker容器与传统虚拟机的比较,如下表 特性 Docker 虚拟机 启动速度 秒级 分钟级 性能损耗 共享kernel几乎没有性能损耗 通过对于硬件层的模拟,增加了系统调用链路的环节,有性能损耗 系统支持量 上千个 几十个 隔离性 资源限制 完全隔离

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

随着Docker管理的任务增多,我们需要用Dockerfile进行docker容器管理,这样可以减轻人工的操作,让docker管理更加的方便,快捷: Dockerfile是一个镜像的完整描述,可以通过Dockerfile来描述构建镜像的步骤,并自动构建一个容器. 所有的 Dockerfile 命令格式都是: INSTRUCTION arguments 虽然指令忽略大小写,但是建议使用大写. FROM 命令 FROM <image> 或 FROM <image>:<tag>

容器技术Docker 容器操作大总结

Docker实战之容器操作: 新建容器: docker create创建的容器处于停止状态,可以使用docker start命令启动Docker容器. 使用docker run命令,可以创建一个运行中的容器. create命令与容器运行模式相关的选项: -a,--attach=[]                                      是否绑定到标准输出.输入和错误 -a,--detach=true|false                              是否在

docker 容器网络篇

在安装Docker的时候,系统会自动创建一个docker0的设备,默认ip地址为172.17.0.1,他既作为宿主机的网卡使用,也作为docker容器的交换机来使用.Docker的默认网段为:172.16.0.0/16.可以使用如下命令查看docker桥设备: [root@localhost ~]# docker network inspect bridge [ { "Name": "bridge", "Id": "f9e359b819