Ubuntu16_x64下安装docker及部署web应用
2018-01-30 10:15
911 查看
Ubuntu16_x64下安装docker及部署web应用
原创 2017年06月10日22:11:25
标签:
docker /
ubuntu /
web应用
224
系统版本4.4.0-53-generic
以下操作均在root用户下进行
文中指定的端口都是随意指定的,可根据自己需求指定
本文共九张图
文档结构:
一、安装docker,运行hello-world
二、Docker运行Nginx
三、Docker网络(外部访问)
四、自定义镜像并部署
一、安装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
(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 jpressP.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应用
- Ubuntu Docker 的安装部署及简单应用
- Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Ngi
- Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Nginx
- Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Nginx
- docker - 从安装到部署一个web应用(go、java)
- docker - 从安装到部署一个web应用(go、java)
- docker - 从安装到部署一个web应用(go、java)
- docker - 从安装到部署一个web应用(go、java)
- oracle数据库配置、安装、部署web应用——笔记
- Docker安装及其应用部署
- Docker部署Web应用(Django)
- ubuntu下安装配置部署zabbix——基于docker
- Docker for Mac下载安装及部署应用
- 关于如何在docker中利用tomcat和MySQL容器部署java web应用的详细步骤
- docker学习(四)docker中部署javaweb应用两种方法
- 【HoorayOS】开源的Web桌面应用框架——安装部署
- 在Linux安装配置Tomcat 并部署web应用 ( 三种方式 )
- ubuntu下安装配置部署zabbix3.0――基于docker
- NET Core Web 应用部署到 Docker 中运行