一、什么是docker?
1.定义:docker是一种开源的应用容器引擎,它可以让开发者将自己的应用或是依赖包直接打包到一个可移植的镜像中。并且这些应用或者是依赖包保持相互隔离,可以轻松将它们部署到linux或者windos中。
2.特点:开源免费、可移植、应用隔离、轻松部署。
3.注意:目前支持win10(家庭版需要安装工具,其他可以直接使用)、linux,建议linux.
二、构建(以tomcat为例)
1.从docker自己的仓库获取资源,相当于通过命令远程调用
首先启动docker service start docker。
常用命令:docker pull tomcat 直接拉取(其中tomcat为镜像名字)
docker search mysql(其中mysql为镜像名字) 从库中查找mysql等
docker images 查看镜像 docker ps 查看正在运行的容器,添加参数-a查看所有
docker stop ID(容器ID)停止容器 docker rm ID(删除容器)
docker rmi ID(镜像ID)删除镜像 docker --version查看版本
docker rmi $(docker images | grep "none" | awk '{print $3}') 批量删除镜像包含“none”关键字的,可替换
docker run -p 3306:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7初始化mysql事例
docker rm `docker ps -a|grep Exited|awk '{print $1}'`删除所有未运行容器
2. 拉取资源docker pull IMAGENAME
3.运行容器docker run -d -p 8000:8080 tomcat将镜像中8080映射到本地8000访问
4.就可以通过ip端口访问基本服务了。
三、自定义镜像
1..创建容器内部交互终端 docker exec -it ID(容器ID)/bin/bash
2.编写dockerfile文件
#基准镜像
FROM tomcat:latest
#本地工作目录
WORKDIR /usr/local/tomcat/webapps
#从本地mydocker(自己定义的名字)复制到docker中docker-web目录,如没有自动创建
ADD mydocker ./docker-web
3.构建docker bulid -t wjx/mydocker(自定义名字) /home/wjx/docker(dockerfile文件父路径)
4.启动容器 docker run -d -p 8000:8080 tamcat