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



docker可以执行任何应用程序。本章我们将创建一个Php应用,并使用docker运行它。

1. 创建项目目录

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

[root@qikegu demo]# mkdir docker-php

2. 创建PHP文件

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

qikegu.php


<?php echo "This is php app - qikegu.com" ?>

3. 创建Dockerfile

创建Php文件之后,我们需要创建一个Dockerfile,其中包含了Docker的指令。在docker-php目录下创建Dockerfile,文件名必须是Dockerfile

Dockerfile

FROM php:7.3
COPY . /var/www/php
WORKDIR /var/www/php
CMD ["php", "./qikegu.php"]

所有指令都大写,这是惯例。

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

[root@qikegu docker-php]# ls
Dockerfile qikegu.php

4. 构建 Docker 镜像

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


docker build -t qikegu-php .
Sending build context to Docker daemon 3.072kB
Step 1/4 : FROM php:7.3
7.3: Pulling from library/php
743f2d6c1f65: Already exists
6307e89982cc: Already exists
807218e72ce2: Already exists
5108df1d03f8: Already exists
6379b2ee8208: Pull complete
97904243782e: Pull complete
6f3a7ed1fc19: Pull complete
e4924fe2ab64: Pull complete
57a3ef7493d5: Pull complete
Digest: sha256:00f053cdb2e46bab5d9ea20c416a007aa84b15883b22a9073a83e1d2f96f0b55
Status: Downloaded newer image for php:7.3
---> e1dce93645bd
Step 2/4 : COPY . /var/www/php
---> d5c47dfa4f38
Step 3/4 : WORKDIR /var/www/php
---> Running in b6f81d4db002
Removing intermediate container b6f81d4db002
---> 996e3419c48f
Step 4/4 : CMD ["php -f", "qikegu.php"]
---> Running in 52957ffeebd4
Removing intermediate container 52957ffeebd4
---> df09b84b2033
Successfully built df09b84b2033
Successfully tagged qikegu-php:latest [root@qikegu docker-php]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
qikegu-php latest 25c6fdde4da0 4 minutes ago 367MB
...

这里,最后使用docker images查看镜像,可以看到构建镜像成功。接下来就可以运行镜像了。

5. 运行 Docker 镜像

执行docker run qikegu-php命令运行镜像:

[root@qikegu docker-php]# docker run qikegu-php
This is php app - qikegu.com
[root@qikegu docker-php]#

可以看到,qikegu-php镜像成功运行,输出了一条信息。

Docker PHP 例子的更多相关文章

  1. Docker NGINX 例子

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

  2. Docker Ubuntu 例子

    版权所有,未经许可,禁止转载 章节 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练习例子:基于 VNCServer + noVNC 构建 Docker 桌面系统

    0. 安装docker 这一步略,网上有好多教程,一般出现装不上的原因,也就是网速问题了,这个我也很难帮你. 1. 下载指定的镜像images docker pull dorowu/ubuntu-de ...

  6. docker的例子

    定制镜像 做个测试服务器,testServer代码如下 package main import ( "net/http" ) func main() { http.Handle(& ...

  7. 一个不错的nomad raw_exec && docker 运行例子(集成访问网关)

    github 上有一个关于nomad up && runing 不错的项目,包含了一个tomcat 应用的部署,以及基于容器运行的网关服务 项目参考地址 https://github. ...

  8. docker好文收藏

    深入浅出Docker(一):Docker核心技术预览 2. 核心技术预览 Docker核心是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观.我们从虚拟化方法的四个方面:隔离性.可配额/可度 ...

  9. 使用docker发布spring cloud应用

    本文涉及到的项目: cloud-simple-docker:一个简单的spring boot应用 Docker是一种虚拟机技术,准确的说是在linux虚拟机技术LXC基础上又封装了一层,可以看成是基于 ...

随机推荐

  1. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:表示信息变化的操作

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. importlib 与__import__的区别

    importlib 与__import__的区别 importlib import importlib name = "lib.test" # lib.test指的是lib路劲下的 ...

  3. nginx 安装部署前篇

    官网:https://nginx.org/ 特性:既可以作为HTTP服务器,也可以作为反向代理服务器或者邮件服务器或者邮件服务器:能够快递响应静态页面的请求:支持 Fast CGI.SSL.Virtu ...

  4. layui-简单的登录注册界面

    register.html 源代码: <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  5. sqlite帮助类

    帮助类 using System; using System.Collections.Generic; using System.Data; using System.Data.SQLite; usi ...

  6. Codeforces Round #568 (Div. 2) 选做

    A.B 略,相信大家都会做 ^_^ C. Exam in BerSU 题意 给你一个长度为 \(n\) 的序列 \(a_i\) .对于每个 \(i\in [1,N]\) 求 \([1,i-1]\) 中 ...

  7. RNN、LSTM、Seq2Seq、Attention、Teacher forcing、Skip thought模型总结

    RNN RNN的发源: 单层的神经网络(只有一个细胞,f(wx+b),只有输入,没有输出和hidden state) 多个神经细胞(增加细胞个数和hidden state,hidden是f(wx+b) ...

  8. 在 Rolling Update 中使用 Health Check【转】

    上一节讨论了 Health Check 在 Scale Up 中的应用,Health Check 另一个重要的应用场景是 Rolling Update.试想一下下面的情况: 现有一个正常运行的多副本应 ...

  9. HiBench成长笔记——(1) HiBench概述

    测试分类 HiBench共计19个测试方向,可大致分为6个测试类别:分别是micro,ml(机器学习),sql,graph,websearch和streaming. 2.1 micro Benchma ...

  10. 虚拟机上安装SVN服务

    服务器端安装SVN(centos)1.yum install subversion2.svn的相关配置1创建一个SVN仓库(所有项目存放与管理)mkdir -p /svndata/projects2. ...