深浅模式
基础篇
安装
下载关于Docker的依赖环境
shell
yum -y install yum-utils device-mapper-persistent-data lvm2安装Docker
shell
yum makacache fast
yum -y install docker-ce启动并设置为开机自动启动
shell
#启动Docker服务
systemctl start docker
#设置开机自动启动
systemctl enable docker中央仓库
国外
shell
#Docker Hub: https://hub.docker.com/
#Quay: https://quay.io/search国内
shell
#网易: https://c.163yun.com/hub#/m/home/ (需登录)
#阿里云:https://cr.console.aliyun.com/cn-beijing/instances/images (需登录)
#DaoCloud 道客网络: https://hub.daocloud.io/私服
shell
#需要在/etc/docker/daemon. json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["ip:port"]
}
#重启两个服务
systemctl daemon-reload
systemctl restart docker镜像的操作
将镜像拉取到本地
shell
#docker pull镜像名称[:tag]
docker pull daocloud.io/library/tomcat:8.5.15-jre8注意:
截止到2024上面示范镜像源已经失效,建议去官方渠道找镜像。
查看本地全部的镜像
shell
docker images删除本地镜像
shell
docker rmi 镜像标识
#删除全部镜像
docker rmi $(docker ps -q)镜像的导入与导出(不规范)
shell
#将本地镜像导出
docker save -o 导出的路径 镜像的id
#举个栗子
docker save -o ./tomcat.image 镜像的id(导出在当前路径的tomcat.image文件中)
#加载本地的镜像文件
docker load -i 镜像文件
#修改镜像名称
docker tag 镜像id 新镜像名称:版本号容器的操作
运行容器
shell
#简单操作
docker run 镜像标识|镜像名称[:tag] #(如果本地有该镜像 会直接运行 ,没有会下载再次运行)。
#复杂操作
docker run -d -p #宿主机端口: 容器端口--name 容器名称 镜像的标识|镜像名称[:tag]
#-d: 代表后台运行容器
#-p: 宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口
#--name: 容器名称:指定容器的名称查看正在运行的容器
shell
docker ps [-qa]
#-a:查看全部的容器,包括没有运行
#-q:只查看容器得到标识查看正在运行的容器
shell
docker logs -f 容器id (看 tomcat 日志)
#-f:可以滚动查看目志的最后几行进入容器内部
shell
docker exec -it 容器id bash #进入:
exit #退出:删除容器
shell
#停止指定的容器
docker stop 容器id
#停止全部容器
docker stop $(docker ps -qa)
#删除指定容器
docker rm 容器id
#删除全部容器
docker rm $(docker ps -qa)提示
删除容器前,需要先停止容器
将war包复制到tomcat
shell
docker cp Doker.war 0e:/usr/local/tomcat/webapps/(0e 代码容器运行id)数据卷
为了部署SSM的工程,需要使用到cp的命令将宿主机内的xxx.war文件复制到容器内部。 数据卷:将宿主机的一个目录映射到容器的一个目录中。 可以在宿主机中操作目录的内容,那么容器内部映射的文件,也会跟着一起改变。
创建数据卷
shell
docker volume create 数据卷名称
#创建数据卷之后,默认会存放在一个目录下 /var/lib/docker/volumes/数据卷名称/_data查看数据卷的详细信息
shell
docker volume inspect 数据卷名称查看全部数据卷
shell
docker volume ls删除数据卷
shell
docker volume rm 数据卷名称应用数据卷
当你映射数据卷时,如果数据卷不存在,Docker会帮你自动创建,会将容器自带的文件,存储在默认的存放路径中
shell
#创建数据卷
docker rum -v 数据卷名称:容器内部的路径 镜像id
#直接指定一个路径作为数据卷的存放位置。这个路径下是空的需要手动往里面设置值
docker run -v 路径:容器内部的路径 镜像id自定义镜像
中央仓库上的镜像,也是Docker的用户自己上传过去的。
shell
#创建一个Dockerfile文件夹,并且指定自定义镜像信息。
#Dockerfile文件中常用的内容
from: 指定当前自定义镜像依赖的环境
copy:将相对路径下的内容复制到自定义镜像中
workdir: 声明镜像的默认工作目录
cmd: 需要执行的命令 (在workdir下执行的,cmd可以写多的,只以最后一个为准)
#举个栗子,自定义一个tomcat镜像,并且将ssm.war 部署到 tomcat中
from daocloud.io/library/tomcat:8.5.16-jre8
copy Doker.war /usr/local/tomcat/webapps
#2.将准备好的Dockerfile和相应的文件拖拽到linux系统中,通过Docker的命令制作镜像
docker build -t 镜像名称:[tag] .
举个栗子
docker run -d -p 8081:8080 --name docker-tomcat 01Docker Compose
之前运行一个镜像,需要添加大量的参数。 可以通过Docker-Compose编写这些参数。 Docker-Compose可以帮助我们批量的管理容器。 只需要通过一个docker-compose.yml文件去维护即可。
下载
https://pan.baidu.com/s/1nYVGTS7T8bq0V1S551gwCA
shell
然后拖拽放入到linux中
mv docker-compose-Linux-x86_64 docker-compose 修改名字
变成可执行文件
chmod 777 docker-compose配置环境变量
shell
#将docker-compose文件移动到了/usr/local/bin,修改了/etc/profile文件,给/usr/local/bin配置到PATH中
mv docker-compose /usr/local/bin
vi /etc/profile
export PATH=$JAVA_HOME:/usr/local/bin:$PATH
source /etc/profile
#测试
在任意目录下输入
docker-compose
查看日志
shell
#查看日志
docker-compose logs -f