镜像操作
拉取镜像
从中央仓库拉取到本地
docker pull 镜像名称[:tag] #举个例子 :docker pull daocloud.io/libarary/tomcat:8.5.15-jre8
查看本地全部镜像
查看本地已经安装过的镜像信息,包含标识,名称,版本,更新时间,大小
docker images
删除本地镜像
镜像会占用磁盘空间,可以直接手动删除.标识通过查看获取
docker rmi 镜像的标识
镜像的导入导出
如果因为网络原因可以通过硬盘的方式传输镜像,虽然不规范,但是有效,但是这种方式导出的镜像版本都是null,需要手动修改
#将本地的的镜像导出 docker save -o 导出的路径 镜像id #如果本地的镜像文件 docker load -i 镜像文件 #修改镜像名称 docker tag 镜像id 新镜像名称:版本
容器的操作
运行容器
运行容器
#简单操作 docker run 镜像的标识[:tag] #常用的参数 docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像标识|镜像名称[:tag] #-d 代表后台运行容器 #-p 宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口 #--name 容器名称:指定的容器名称
查看正在运行的容器
查看全部正在运行的容器
docker ps [-qa] # -a : 查看全部的容器,包括没有运行的 # -q : 只查看容器标识
查看容器日志
查看容器日志,以查看容器运行的信息
docker logs -f 容器id # -f : 可以滚动查看日志的最后几行
进入容器内部
可以进入容器内部进行操作
docker exec -it 容器id bash
复制内容到容器
将宿主机的文件复制到容器内部指定的目录
docker cp 文件名称 容器id: 容器内部路径
重启&启动&停止&删除容器
容器的启动,停止,删除等操作,后续经常会使用到
#重新启动容器
docker restart 容器id
#启动已停止运行的容器
docker start 容器id
#停止指定容器(删除容器前先停止容器)
docker stop $(docker ps -qa)
#删除指定容器
docker rm 容器id
删除全部容器
docker rm $(docker ps -qa)
Docker应用
Docker 安装Tomcat
运行Tomcat容器,为部署SSM做准备
docker run -d -p 8080:8080 --name tomcat daocloud.io/library/tomcat:8.5.15-jre8
Docker安装MySQL
运行MySQL容器,为SSM工程做准备
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root daocloud.io/library/mysql:5.7.4
部署SSM工程
修改SSM工程环境,设置为Linux中Docker容器的信息
通过Maven的package重新打成war包
讲Windows下的war包复制到Linux中
通过docker命令将宿主机的war包复制到容器内部
测试访问SSM工程
数据卷
为了部署SSM工程,需要使用cp命令将宿主机内的ssm.war文件复制到容器内部
数据卷: 将宿主机的一个目录映射到容器的一个目录中
可以在宿主机中操作目录中的内容,那么容器内部映射的文件也会跟着一起改变
创建数据卷
创建年数据卷之后,默认会存放在一个目录下啊/var/lib/docker/volumes/数据圈名称/_data
docker volume create 数据圈名称
查看数据卷详情
查看数据卷的详细信息,可以查询到存放路径,创建时间等等
docker volume inspect 数据卷名称
查看全部数据卷
查看全部数据卷信息
docker volume ls
删除数据卷
删除指定数据卷
docker volume rm 数据卷名称
容器映射数据卷
映射有两种方式:
通过数据圈名称映射,吐过数据卷不存在.docker 会帮你自动穿件,会将容器内部自带的文件,存储在默认的存放路径中
通过路径映射数据圈,直接指定一个路径作为数据圈的存放位置.但是这个路径下是空的
#通过数据卷名称映射 docker run -v 数据圈名称: 容器内部的路径 镜像id #通过路径映射数据卷 docker run -v 路径:容器内部的路径 镜像id