Docker 实例

1、Docker 安装 Nginx

方法一:通过 Dockerfile构建

创建Dockerfile

首先,创建目录nginx,用于存放后面的相关东西。

www目录将映射为nginx容器配置的虚拟目录

logs目录将映射为nginx容器的日志目录

conf目录里的配置文件将映射为nginx容器的配置文件

进入创建的nginx目录,创建Dockerfile

通过Dockerfile创建一个镜像,替换成你自己的名字

创建完成后,我们可以在本地的镜像列表里查找到刚刚创建的镜像

方法二、docker pull nginx

查找DockerHub上的nginx镜像

这里我们拉取官方的镜像

等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为nginx的镜像。

使用nginx镜像

运行容器

命令说明:

  • -p 80:80:将容器的80端口映射到主机的80端口
  • –name mynginx:将容器命名为mynginx
  • -v $PWD/www:/www:将主机中当前目录下的www挂载到容器的/www
  • -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机中当前目录下的nginx.conf挂载到容器的/etc/nginx/nginx.conf
  • -v $PWD/logs:/wwwlogs:将主机中当前目录下的logs挂载到容器的/wwwlogs

查看容器启动情况

通过浏览器访问

2、Docker 安装 PHP

安装 PHP 镜像

方法一、通过 Dockerfile 构建

创建Dockerfile

首先,创建目录php-fpm,用于存放后面的相关东西。

logs目录将映射为php-fpm容器的日志目录

conf目录里的配置文件将映射为php-fpm容器的配置文件

进入创建的php-fpm目录,创建Dockerfile

通过Dockerfile创建一个镜像,替换成你自己的名字

创建完成后,我们可以在本地的镜像列表里查找到刚刚创建的镜像

方法二、docker pull php

查找Docker Hub上的php镜像

这里我们拉取官方的镜像,标签为5.6-fpm

等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为php,标签为5.6-fpm的镜像。

使用php-fpm镜像

运行容器

  • -p 9000:9000 :将容器的9000端口映射到主机的9000端口
  • –name myphp-fpm :将容器命名为myphp-fpm
  • -v ~/nginx/www:/www :将主机中项目的目录www挂载到容器的/www
  • -v $PWD/conf:/usr/local/etc/php :将主机中当前目录下的conf目录挂载到容器的/usr/local/etc/php
  • -v $PWD/logs:/phplogs :将主机中当前目录下的logs目录挂载到容器的/phplogs

查看容器启动情况

 

注意:此处是通过nginx+php实现web服务,nginx配置文件的fastcgi_pass应该配置为myphp-fpm容器的IP。

容器IP的查方法

3、Docker 安装 Tomcat

方法一、通过 Dockerfile构建

创建Dockerfile

首先,创建目录tomcat,用于存放后面的相关东西。

webapps目录将映射为tomcat容器配置的应用程序目录

logs目录将映射为tomcat容器的日志目录

conf目录里的配置文件将映射为tomcat容器的配置文件

进入创建的tomcat目录,创建Dockerfile

通过Dockerfile创建一个镜像,替换成你自己的名字

创建完成后,我们可以在本地的镜像列表里查找到刚刚创建的镜像

方法二、docker pull tomcat

查找Docker Hub上的tomcat镜像

这里我们拉取官方的镜像

等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为tomcat的镜像。

使用tomcat镜像

运行容器

命令说明:

-p 8080:8080:将容器的8080端口映射到主机的8080端口

-v $PWD/test:/usr/local/tomcat/webapps/test:将主机中当前目录下的test挂载到容器的/test

查看容器启动情况

通过浏览器访问

4、Docker 安装 Python

方法一、通过 Dockerfile 构建

创建Dockerfile

首先,创建目录python,用于存放后面的相关东西。

myapp目录将映射为python容器配置的应用目录

进入创建的python目录,创建Dockerfile

通过Dockerfile创建一个镜像,替换成你自己的名字

创建完成后,我们可以在本地的镜像列表里查找到刚刚创建的镜像

方法二、docker pull python:3.5

查找Docker Hub上的python镜像

这里我们拉取官方的镜像,标签为3.5

等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为python,标签为3.5的镜像。

使用python镜像

在~/python/myapp目录下创建一个 helloworld.py 文件,代码如下:

运行容器

命令说明:

-v $PWD/myapp:/usr/src/myapp :将主机中当前目录下的myapp挂载到容器的/usr/src/myapp

-w /usr/src/myapp :指定容器的/usr/src/myapp目录为工作目录

python helloworld.py :使用容器的python命令来执行工作目录中的helloworld.py文件

输出结果:

6、Docker 安装 MongoDB

方法一、通过 Dockerfile 构建

创建Dockerfile

首先,创建目录mongo,用于存放后面的相关东西。

db目录将映射为mongo容器配置的/data/db目录,作为mongo数据的存储目录

进入创建的mongo目录,创建Dockerfile

通过Dockerfile创建一个镜像,替换成你自己的名字

创建完成后,我们可以在本地的镜像列表里查找到刚刚创建的镜像

方法二、docker pull mongo:3.2

查找Docker Hub上的mongo镜像

这里我们拉取官方的镜像,标签为3.2

等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为mongo,标签为3.2的镜像。

使用mongo镜像

运行容器

命令说明:

-p 27017:27017 :将容器的27017 端口映射到主机的27017 端口

-v $PWD/db:/data/db :将主机中当前目录下的db挂载到容器的/data/db,作为mongo数据存储目录

查看容器启动情况

使用mongo镜像执行mongo 命令连接到刚启动的容器,主机IP为172.17.0.1

7、Docker 安装 Redis

方法一、通过 Dockerfile 构建

创建Dockerfile

首先,创建目录redis,用于存放后面的相关东西。

data目录将映射为redis容器配置的/data目录,作为redis数据持久化的存储目录

进入创建的redis目录,创建Dockerfile