一:简介
1:什么是docker?
2:docker解决了什么问题?
Docker解决了运行环境和配置问题,方便发布,也就方便做持续集成。
3:docker的生命周期
Docker的生命周期包含三个部分,镜像,容器,仓库,我们可以把镜像,
容器想像成java的类和对象,即容器是由镜像实例化而来的。也就是说我
们想使用装有相关软件的镜像,首先要把镜像创建成容器。
4:什么是docker镜像?
5:什么是docker容器?
6:什么是docker仓库?
二:Windows系统上安装Docker
1:下载地址
我们这里是在国内网站下载的,速度比较快
Docker Toolbox for Win7下载地址:
阿里云开源镜像站资源目录
2:安装
⑴下载完成后,双击下载文件
⑵ 一路Next,接受所有默认安装 。注意:在安装过程中,会出现几个其他的安装过程,
如Ocracle Corporation等系列软件,全部选择安装即可。
⑶整个安装过程非常简单,安装完成后,可以在桌面得到如下的三个图标:
⑷点击Docker Quickstart Terminal图标,从而打开一个Docker Toolbox terminal
打开terminal后,terminal会自动进行一些设置,需要点时间,全部完成后,会出现如下的结果
查看docker的版本信息:docker info
三:Linux上安装Docker
就是说必须要是64位的,内核版本要大于3.10,还有就是docker本身是在Ubuntu
系统上开发的,所以它对Ubuntu系统的支持是最好的,所以推荐使用Ubuntu系统
进行学习。
1:查看一下系统的内核版本:命令:uname -r 版本为4.15.0
2:保证我们的apt-get是最新版本的:命令:apt-get update
3:安装Docker,最新版本的 Docker 安装包命令:curl -s https://get.docker.com|sh
问题:curl command not found
解决:
再次执行安装Docker命令:
安装完成后有个提示:
当要以非root用户可以直接运行docker时,需要执行 sudo usermod -aG docker +用户 命令,
然后重新登陆,否则会有如下报错:
4:使用docker version命令查看是否安装成功
5:启动docker后台服务命令:sudo service docker start,
下面存在Server就说明Docker服务端已经启动
四:Docker镜像
1:相关命令
⑴docker pull [OPTIONS] NAME[:TAG]:
这条命令是用来拉取镜像的,它会从docker远程仓库拉取一个镜像到我们本地。
⑵docker images [OPTIONS] [REPOSITORY[:TAG]]
这条命令是用来查看我们本机都存在哪些镜像,也可以用来验证我们pull镜像是否成功了。
2:操作我们上面安装好的docker
⑴查看一下我们本地镜像
3:我们使用命令去docker的一个公共img仓库拉取hello world镜像,在官网上可以查到docker有哪些镜像
五:Docker容器
1:运行镜像
docker run [OPTIONS] IMAGE[:TAG][COMMAND][ARG..]
出现上面的效果说明hello-world镜像运行结束。
六:Docker运行Nginx
1:前往网易云蜂巢镜像中心:登录
2:查找到nginx镜像 ,这里使用docker同步的nginx镜像
3:进入复制下载地址
4: 在服务器中粘贴执行该下载镜像
5:后台启动nginx服务,命令是docker run -d +服务名称
6:进入到容器内部,命令:docker exec -it +容器名称 +bash
可以发现进入容器内部后,就像是进入了一个新的电脑一样
7:如何让外部访问到容器中的nginx
⑴首先我们将容器停掉,命令:docker stop +服务名称
⑵nginx 的默认启动端口是80,8080:80 将外部主机8080端口映射到容器的80端口。
命令:docker run -d -p 8080:80 +镜像名称
效果:说明已经OK了。
8:我们也可以随意开辟一个端口去映射nginx的80端口
命令:docker run -d -P +镜像名称
从上面可以发现,随机分配了一个32768的端口去映射80端口。
完美!
七:简单的java web应用
1:制作自己的镜像
⑴什么是Dockerfile?
Dockerfile就是用来告诉Docker,我们要怎么制作一个镜像,
我们制作镜像的每一步操作是什么。
⑵什么是docker build?
当Dockerfile写好之后,我们使用docker build命令来执行Dockerfile
里面我们编写的代码,最终把docker镜像给构建出来。
2:开始制作Dockerfile
⑴那么我们需要如何制作java web端的镜像呢?
①我们的镜像是要运行在tomcat中的。一般创建镜像,第一步是要继承一个基础镜像。
那么我们就去网易蜂巢去找一个tomcat镜像,作为一个基础镜像
我们将tomcat下载下来,注意:这个tomcat是包含JDK的,所以我们不用担心JDK问题。
②编写Dockerfile,以tomcat作为基础镜像,这个位置是镜像中的位置
3:使用docker build执行Dockerfile文件
命令:docker build -t +名称:版本 +Dockerfile文件路径,如果是当前目录,
就是docker build -t +名称:版本 .
4:运行自己的容器
⑴运行命令
⑵访问端口
⑶访问我们的应用程序