美文网首页我的Docker之路
Ubuntu16_x64下安装docker及部署web应用

Ubuntu16_x64下安装docker及部署web应用

作者: Johnney_Ann | 来源:发表于2017-06-09 23:22 被阅读59次

    系统版本4.4.0-53-generic

    以下操作均在root用户下进行

    文中指定的端口都是随意指定的,可根据自己需求指定

    本文共九张图


    文档结构:

    一、安装docker,运行hello-world

    二、Docker运行Nginx

    三、Docker网络(外部访问)

    四、自定义镜像并部署web应用


    一、安装docker,运行hello-world

    1.保证Ubuntu软件源最新

    apt-get update

    2.下载docker

    apt-get install -y docker.io

    下载完成后可使用docker version查看docker版本,正常会显示client以及server,由于未启动docker服务,此时只会显示client的信息,可执行第三步启动docker,再执行docker version即可正常显示,显示结果如下

    docker信息

    3.启动docker

    service docker start

    4.以docker官网的镜像hello-world(名字需与官网一致),拉取镜像

    docker pull hello-world

    5.拉取成功后可查看当前镜像列表

    docker images

    列表如下图所示

    镜像列表

    6.运行hello-world(前台运行)

    docker run hello-world

    运行结果如下图所示,从内容可看到hello-world的运行做了哪些事:

    hello-world运行结果

    二、Docker运行Nginx

    由于docker官网的镜像下载较慢,这里使用网易蜂巢中心:c.163.com,点击进入镜像中心即可。

    网易蜂巢镜像中心

    1.通过网易凤巢中心拉取镜像

    docker pull hub.c.163.com/library/nginx:latest

    2.前台运行nginx

    docker run hub.c.163.com/library/nginx

    这一步没有任何反映(因为属于前台运行 ctrl+c将其停掉,最好使用后台运行)

    2.后台运行nginx

    (docker run --help 可查看可选的参数,-d参数表示后台运行)

    docker run -d hub.c.163.com/library/nginx

    返回一个id:6b79dde.....

    3.查看运行的容器

    docker ps

    运行列表

    4.进入容器内部

    docker exec -it 6b /bin/bash

    (6b为id简写,如果很容易识别id可以简写)

    5.退出容器

    exit

    三、Docker网络(外部访问)

    重新启动时需关闭nginx容器

    docker stop 6b

    1.以桥接Bridge的方式启动nginx 需要指定端口映射(-p参数)

    docker run -d -p 9999:80 hub.c.163.com/library/nginx

    2.查看端口是否启动

    netstat -na|grep 9999

    3.以桥接Bridge的方式启动nginx 随机端口映射(-P参数)将映射容器的所有端口

    docker run -d -P hub.c.163.com/library/nginx

    4.此时即可通过外部浏览器访问nginx

    以第三节第一步指定端口进行访问为例,若使用的是随机端口则需要查看系统分配的端口再进行访问。

    在浏览器里输入IP:9999(IP填你部署环境的ip),即可看到nginx的欢迎页面:

    nginx欢迎页

    四、自定义镜像并部署web应用(以部署开源的Jpress为例,并提供其数据库配置)

    1.从jpress.io官网下载Jpress

    进入jpress.io官网点击下载跳转到github下载最新的war包:

    jpress-github

    点击进入下载即可,将下载的文件放入到linux机器的某个文件夹下,如/home/docker

    为方便使用重命名war包

    mv jpress-web-newest.war jpress.war

    2.由于要部署到tomcat中,从网易蜂巢镜像中心下载tomcat的镜像(tomcat的镜像是自带JDK的,无须下载java的镜像)

    docker pull hub.c.163.com/library/tomcat:latest

    3.在当前文件夹下编写Dockerfile(创建镜像的文件)

    vim Dockerfile

    填写以下内容

    from hub.c.163.com/library/tomcat

    MAINTAINER anyang  johnney**@163.com

    COPY jpress.war /usr/local/tomcat/webapps

    解释:

    from 引入tomcat镜像

    MAINTAINER 镜像的所有者及联系方式,可不填

    COPY 将创建的镜像拷贝到tomcat下,tomcat的具体路径可在镜像中心的镜像详情查看

    4.构建镜像

    docker build -t jpress:latest .

    -t镜像名字及TAG  后面参数为镜像目录,.代表当前目录

    创建完成后可查看自己的镜像:

    镜像列表

    5.运行自己创建的镜像

    docker run -d -p 8888:8080 jpress

    P.S. 端口按照需要指定

    此时即可通过在浏览器输入IP:8888访问到Jpress,界面会显示Jpress的安装,Jpress的配置 不在本文的讨论范围,如想继续配置则继续第6步。

    6.拉取mysql镜像

    由于Jpress的安装需要使用到数据库,因此有了下面的步骤

    docker pull hub.c.163.com/library/mysql:latest

    7.运行mysql镜像

    运行mysql是需要配置些数据库信息,如数据库密码(MYSQL_ROOT_PASSWORD)、需要创建的数据库(MYSQL_DATABASE)等,使用-e参数配键值对,更多参数可在镜像中心mysql镜像详情中查看。

    docker run -d -p 7777:3306 -e MYSQL_ROOT_PASSWORD=000000 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql

    8.配置并重启jpress容器

    按照上面的参数以及Jpress页面提示的安装步骤,填写好相应的信息即可成功创建Jpress。

    配置完成后,需要重启jpress容器:

    docker restart 5e8caebf1643

    P.S. 5e8caebf1643为jpress的id

    9.访问Jpress

    在浏览器输入IP:8888/jpress,结果如下

    Jpress

    相关文章

      网友评论

        本文标题:Ubuntu16_x64下安装docker及部署web应用

        本文链接:https://www.haomeiwen.com/subject/naofqxtx.html