Docker PHP 例子
版权所有,未经许可,禁止转载
章节
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 例子的更多相关文章
- Docker NGINX 例子
版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...
- Docker Ubuntu 例子
版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...
- Docker Python 例子
版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...
- Docker Java 例子
版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...
- Docker练习例子:基于 VNCServer + noVNC 构建 Docker 桌面系统
0. 安装docker 这一步略,网上有好多教程,一般出现装不上的原因,也就是网速问题了,这个我也很难帮你. 1. 下载指定的镜像images docker pull dorowu/ubuntu-de ...
- docker的例子
定制镜像 做个测试服务器,testServer代码如下 package main import ( "net/http" ) func main() { http.Handle(& ...
- 一个不错的nomad raw_exec && docker 运行例子(集成访问网关)
github 上有一个关于nomad up && runing 不错的项目,包含了一个tomcat 应用的部署,以及基于容器运行的网关服务 项目参考地址 https://github. ...
- docker好文收藏
深入浅出Docker(一):Docker核心技术预览 2. 核心技术预览 Docker核心是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观.我们从虚拟化方法的四个方面:隔离性.可配额/可度 ...
- 使用docker发布spring cloud应用
本文涉及到的项目: cloud-simple-docker:一个简单的spring boot应用 Docker是一种虚拟机技术,准确的说是在linux虚拟机技术LXC基础上又封装了一层,可以看成是基于 ...
随机推荐
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:表示信息变化的操作
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- importlib 与__import__的区别
importlib 与__import__的区别 importlib import importlib name = "lib.test" # lib.test指的是lib路劲下的 ...
- nginx 安装部署前篇
官网:https://nginx.org/ 特性:既可以作为HTTP服务器,也可以作为反向代理服务器或者邮件服务器或者邮件服务器:能够快递响应静态页面的请求:支持 Fast CGI.SSL.Virtu ...
- layui-简单的登录注册界面
register.html 源代码: <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- sqlite帮助类
帮助类 using System; using System.Collections.Generic; using System.Data; using System.Data.SQLite; usi ...
- Codeforces Round #568 (Div. 2) 选做
A.B 略,相信大家都会做 ^_^ C. Exam in BerSU 题意 给你一个长度为 \(n\) 的序列 \(a_i\) .对于每个 \(i\in [1,N]\) 求 \([1,i-1]\) 中 ...
- RNN、LSTM、Seq2Seq、Attention、Teacher forcing、Skip thought模型总结
RNN RNN的发源: 单层的神经网络(只有一个细胞,f(wx+b),只有输入,没有输出和hidden state) 多个神经细胞(增加细胞个数和hidden state,hidden是f(wx+b) ...
- 在 Rolling Update 中使用 Health Check【转】
上一节讨论了 Health Check 在 Scale Up 中的应用,Health Check 另一个重要的应用场景是 Rolling Update.试想一下下面的情况: 现有一个正常运行的多副本应 ...
- HiBench成长笔记——(1) HiBench概述
测试分类 HiBench共计19个测试方向,可大致分为6个测试类别:分别是micro,ml(机器学习),sql,graph,websearch和streaming. 2.1 micro Benchma ...
- 虚拟机上安装SVN服务
服务器端安装SVN(centos)1.yum install subversion2.svn的相关配置1创建一个SVN仓库(所有项目存放与管理)mkdir -p /svndata/projects2. ...