一、安装
目录
1、简单安装Docker方法:
# 安装 Docker
yum install wget
wget -qO- https://get.docker.com | sh
# 启动 Docker 服务
systemctl daemon-reload
service docker restart
# 查看 Docker 服务状态
service docker status
2、另外一种安装方式
#1下载Docker
yum -y install yum-utils device-mapper-persistent-data lvm2
#2 设置下载docker镜像源为阿里源(默认的是国外镜像,不稳定。)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#3安装Docker
yum makecache fast
yum -y install docker-ce
#4启动,并设置为开机自动启动,测试
#启动 docker服务
systemctl start docker
# 设置开机自动启动
systemctl enable docker
#测试
docker run hello-world
二、docker 的中央仓库
1. docker官方中央仓库,镜像最全,速度最慢
2.国内镜像网站
网易蜂巢:https://c.163yun.com/hub#/home
(推荐使用)DaoCloud:http:hub.daoCloud.io/
3.在公司内部会采用私服的方式拉取镜像。(添加配置)
#需要在 /etc/docker/daemon.json(如果没有创建就好。)
{
"registry-mirrors":["https://registry.docker-cn.com"],
"insecure-registries":["ip:port"]
}
#重启两个服务
systemctl daemon-reload
systemctl restart docker
三、镜像的操作
#1 拉取镜像到本地
docker pull 镜像名称
# 举个例子
docker pull daocloud.io/library/tomcat:8.5.15-jre8
#2 查看全部本地的镜像
docker images
#3 删除本地镜像
docker rmi 镜像的标识
#4 镜像的导入导出(不规范)
# 将本地的镜像导出
docker save -o 导出的路径 镜像id
# 加载本地的镜像文件
docker load -i 镜像文件
# 修改镜像名称
docker tag 镜像id 新镜像名称:版本
四、容器的操作
#1 运行容器
#简单操作
docker run 镜像的标识|镜像名称[:tag]
# 常用的参数
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[:tag]
#-d:代表后台运行容器
# -p 宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口
# --name 容器名称:指定容器的名称
#2 查看正在运行的容器
docker ps -qa
# -a: 查看全部的容器, 包括没有运行的容器
# -q: 只查看容器的标识
#3 查看容器的日志
docker logs -f 容器id
# -f : 可以滚动查看日志的最后几行
#4 进入到容器内部
docker exec -it 容器id bash
#5 删除容器(删除容器前,需要先停止容器)
# 停止指定的容器
docker stop 容器id
# 停止全部容器
docker stop ${docker ps -qa}
# 删除指定容器
docker rm 容器id
#删除全部容器
docker rm ${docker ps -qa}
#6 启动容器
docker start 容器id
五、docker应用
准备SSM工程
准备MySQL应用
#启动mysql时需要指定一个默认的用户名密码
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root daocloud.io/library/mysql:8.0.1
准备tomcat容器
#运行Tomcat 容器, 前面已经搞定,只需要将SSM项目的war包部署到Tomcat容器内部即可
#可以通过命令将宿主机的内容服务到容器内部
docker cp 文件名 容器id:容器内部路径
#举个例子
docker cp english.war fa:/usr/local/tomcat/webapps/
六、数据卷
为了部署SSM的工程,需要使用到cp的命令将宿主机内的ssm.war文件复制到容器内。维护内容时,不推荐进入容器内部维护,推荐使用数据卷形式去维护容器。
数据卷:将宿主机的一个目录映射到容器的一个目录中。
可以再宿主机中操作目录中的内容,那么容器内也会跟着一起改变。
#1、创建数据卷
docker volume creage 数据卷名称
# 创建数据卷之后,默认会存放在一个目录下 /var/lib/docker/volumes/数据卷名称/_data
#举个例子
docker volume create tomcat
#2 查看数据卷的详细信息
docker volume inspect 数据卷名称
#3 查看全部数据卷
docker volume ls
#4 删除数据卷
docker volume rm 数据卷名称
#5 应用数据卷
#当映射数据卷时,docker会自动创建 不存在的数据卷(会将容器内的内容映射进数据卷)
docker run -v 数据卷名称:容器内部的路径 镜像id
#指定一个路径作为数据卷的存放位置(不会将容器内的内容映射进数据卷)
docker run -v 路径:容器内部的路径(推荐)