版权所有,未经许可,禁止转载



docker可以执行任何应用程序。本章我们将创建一个nginx镜像。

1. 创建项目目录

我们会把这个项目的相关文件,集中放到一个目录docker-nginx

[root@qikegu demo]# mkdir docker-nginx

2. 创建html文件

docker-nginx目录下,创建一个html文件:

qikegu.py

<html>

<head>
<title> qikegu.com docker nginx demo </title>
</head> <body> <h1> This is Nginx - qikegu.demo </h1> </body> </html>

3. 创建Dockerfile

Dockerfile包含了Docker的指令。在docker-nginx目录下创建Dockerfile,文件名必须是Dockerfile

Dockerfile

FROM nginx
COPY ./index.html /usr/share/nginx/html/

指令都大写,这是惯例。

现在docker-nginx目录下有2个文件:

[root@qikegu docker-nginx]# ls
Dockerfile index.html

4. 构建 Docker 镜像

切换到docker-nginx目录,运行docker build -t qikegu-nginx .命令,构建Docker镜像。Docker镜像可以任意取名,此处命名为qikegu-nginx


[root@qikegu docker-nginx]# docker build -t qikegu-nginx .
Sending build context to Docker daemon 3.072kB
Step 1/2 : FROM nginx
---> 53f3fd8007f7
Step 2/2 : COPY ./index.html /usr/share/nginx/html/
---> Using cache
---> 8a9c04104bbe
Successfully built 8a9c04104bbe
Successfully tagged qikegu-nginx:latest

构建镜像成功,接下来就可以运行镜像了。

5. 运行 Docker 镜像

执行docker run -p 80:80 -d qikegu-nginx命令运行镜像,

  • -p 主机端口:容器端口:映射端口
  • -d:表示后台运行
[root@qikegu docker-nginx]# docker run -p 80:80 -d qikegu-nginx
9307178abf7d10315e16d486a7a1c96d1cf86c49bd106c621d7b2c4de372cf00
[root@qikegu docker-nginx]# curl localhost:80
<html> <head>
<title> qikegu.com docker nginx demo </title>
</head> <body> <h1> This is Nginx - qikegu.demo </h1> </body> </html>
[root@qikegu docker-nginx]#

qikegu-nginx镜像运行后,使用curl localhost:80命令访问页面,成功输出html页面内容。

Docker NGINX 例子的更多相关文章

  1. Docker Ubuntu 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  2. Docker PHP 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  3. Docker Python 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  4. Docker Java 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  5. docker nginx mysql

    docker run -p 9000:9000 --name myphp -v /docker/www/:/var/www/html/ -v /docker/php/php.ini:/usr/loca ...

  6. 搭建 docker + nginx + keepalived 实现Web应用的高可用(亲测)

    1. 环境准备     下载 VMware : https://www.vmware.com/go/getplayer-win        下载 Centos : https://mirrors.a ...

  7. 七、Docker+nginx

    原文:七.Docker+nginx docker run -p 80:80 --name nginx-v1.0.0 -v /usr/nginx/www:/www -v /home/docker/ngi ...

  8. docker nginx实现一个主机部署多个站点

    原文:docker nginx实现一个主机部署多个站点 在某站租赁的虚拟机快到期了,续费得花200多,想到在阿里云新买的服务器,不如把这个也转移过去.域名我就用真实的吧,大家别黑我网站就好了,谢谢各位 ...

  9. asp.netcore 3.0 Docker Nginx(震惊,原来docker是这样的!)

    引言 Docker发布于2013年,Docker是dotCloud公司创始人在法国期间发起的一个公司内部项目,他是dotCloud多年云技术的一个革新.Docker在容器基础上进行了一步的封装,从网络 ...

随机推荐

  1. 二 Mybatis架构&MybatisDao的两种开发方式(原始Dao,接口动态代理)

    MyBatis架构图 三个对象: SqlSessionFactoryBuilder.SqlSessionFactory.SqlSession SqlSessionFactoryBuilder:主要用来 ...

  2. Acwing272 最长公共上升子序列

    题目大意:给定两个大小为n的数组,让你找出最长公共上升子序列的长度. 分析:这是一个比较好的dp题,LIS和LCS两大经典线性dp问题相结合,简称LCIS. 代码(O(n*n*n)写法): #incl ...

  3. SQL语言的四种类型

    SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHE ...

  4. save the transient instance before flushing错误解决办法

    错误原因: new了一个新对象,在未保存之前将它保存进了一个新new的对象(也即不是持久态). 解决办法: 在保存或更新之前把这个对象查出来(这样就是一个持久态) <set name=" ...

  5. vue移动端transition兼容

    vue移动端transition兼容 .face-recognition .wrapper(:style="{height: viewHeight+'px'}") .face-re ...

  6. 在网页中JS函数自动执行常用三种方法

    在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: <SCRIPT   LANGUAGE="JavaScript">   function ...

  7. java中栈内存与堆内存(JVM内存模型)

    java中栈内存与堆内存(JVM内存模型) Java中堆内存和栈内存详解1 和 Java中堆内存和栈内存详解2 都粗略讲解了栈内存和堆内存的区别,以及代码中哪些变量存储在堆中.哪些存储在栈中.内存中的 ...

  8. (编辑状态下)Reset及OnValidate使用

    using UnityEngine; using System.Collections; public class Demo : MonoBehaviour { #if UNITY_EDITOR vo ...

  9. VS中MFC项目文件特别大的解决办法

    转 来自http://m.zhizuobiao.com/vc/vc-18082800177/ 自己插个眼 项目文件比较大因为 项目下有个隐藏文件夹.vs  下面是解决办法 本文主要向大家介绍了VC编程 ...

  10. 高级IO-锁与进程和文件

    1.进程终止,那么这个进程建立的锁将全部释放 2.无论何时关闭一个与当前进程相关的文件描述符,那么与这个文件相关的当前进程的锁会全部被释放 3.子进程不会继承父进程的锁,子进程需要调用fcntl对继承 ...