Docker容器技术介绍,应用场景,安装应用以及项目部署
文章目录
- 一、什么是Docker
- 二、Docker虚拟化技术和传统的虚拟技术的区别
- 三、为什么需要使用Docker
- 四、Docker的安装
- Docker 的安装环境:
- centos10 为例,只支持 centos7 以上的版本
- 1. 安装VM虚拟机和Centos 10
- 2. 设置虚拟机网络:设置桥接模式
- 3. 安装 Docker
- 五、Docker的应用
- 测试过程:
- Docker的常用命令:
- 六、Docker 部署项目
一、什么是Docker
Docker就是一个虚拟机,它是一个开源的容器平台,它和VM有相似的地方,也有不同的地方。
Docker名称解释:
- 仓库(Docker仓库,Dokcerhub):存放镜像的地方,类似于GitHub,包含:ubuntu,mysql,tomcat,redis,nginx,通过push上传镜像到仓库,通过pull命令下载镜像。
- 镜像(images):说白了就是由本体打包出来的一个镜像文件。
- 容器:容器是正在运行的虚拟机,它是由镜像run时生成的容器,一个镜像可以run出N个容器。
- Dockerfile:把自动化的项目通过build命令构建成镜像。
- tar文件:可以把镜像文件保存tar文件。
二、Docker虚拟化技术和传统的虚拟技术的区别
- Docker的思想来源于集装箱。核心思想是:隔离。
- 传统虚拟机:Lib库、内核、硬件占用空间比较大,不够轻便
- Docker:最简易的内核,非常轻便,可以有多个容器,相互独立
三、为什么需要使用Docker
项目一般有多个环境:开发(环境),测试(环境),运维(环境)
- 1.我的电脑没问题,为什么你的有问题。
- 2.开发部署生产环境,还是运维去学习项目的部署的技术。
- 3.微服务项目:部署项目非常麻烦,需要一天。
DevOps=Jenkins+Docker+K8s:
- Docker思想:开发项目打包war包+环境打包+数据打包成镜像,然后上传到DockerHub仓库,然后运维只需要下载开发的镜像,然后运行即可。
四、Docker的安装
Docker 的安装环境:
非 Linux 系统需要 “桥梁”,而非 Docker 依赖虚拟机
- 在 Windows/macOS 上,虚拟机的作用是提供一个 Linux 环境来运行 Docker,这是操作系统限制导致的间接依赖,而非 Docker 本身需要虚拟机。
- 对比:在 Linux 服务器上,Docker 可直接运行,无需任何虚拟机层(如阿里云、腾讯云的 Linux 服务器直接部署 Docker)。
centos10 为例,只支持 centos7 以上的版本
1. 安装VM虚拟机和Centos 10
- VM虚拟机:
VM虚拟机 百度云盘下载地址
VM 官方下载地址 - CentOS 系统:
官方下载地址
安装 CentOS 系统时,注意设置root用户密码,后续docker安装需要用root用户去登录
2. 设置虚拟机网络:设置桥接模式
注意:要关闭本机的防火墙和杀毒软件
3. 安装 Docker
- 为了避免端口冲突,建议关闭防火墙:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
- 安装依赖包
sudo yum install -y yum-utils
- 设置国内的下载源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 更新本地镜像源并安装 docker CE
sudo yum update -y
sudo yum install -y docker-ce docker-ce-cli containerd.io
- 启动 docker
sudo systemctl start docker
- 为了确保 docker 在系统启动时自动运行,执行以下命令:
sudo systemctl enable docker
- 查看 docker 版本
docker version
- 配置 docker 镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]
}
EOF
- 重启Docker服务使配置生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
五、Docker的应用
测试过程:
-
开始测试之前,测试服务器上面安装 Docker,Docker的版本最好和开发一致。
-
根据测试请求说明的镜像地址 DockerHub 拉取镜像。
这里的镜像是需要开发把【项目打包war包+环境打包+数据打包】成镜像 -
运行镜像,生成容器。
-
访问项目,开始测试,发现Bug,反馈bug给开发。
Docker的常用命令:
- 搜索镜像:
docker search tomcat
- 拉取镜像:
docker pull tomcat
- 查看本地镜像文件:
docker images
- 运行镜像生成容器:
docker run -d -p 9999:8080 镜像ID
-d 在后台运行
-p 9999:8080 服务器的端口映射到容器内的端口。
如:docker run -d 266d1269bb29 - 如何查看本地正在运行的容器:
docker ps
如果:docker ps -a
-a 表示查看所有历史运行的容器。 - 查看容器内部的日志信息。
docker logs -f 容器id
- 进入容器:
docker exec -it 容器id /bin/bash
exit
是退出 - 启动和停止容器:
docker start/stop/restart 容器id
六、Docker 部署项目
下载 xshell 免费版,首先通过 Xshell 虚拟终端连接上 linux 服务器,再执行以下步骤:
- 安装 rz 上传文件的命令
yum install lrzsz
- 切换到 /opt 目录
cd /opt
- 使用
rz
命令上传 war 项目文件到 /opt 目录。 - 拷贝当前目录下的 test.war 文件到容器中对应放项目的位置
docker cp test.war b94b4722de68:/usr/local/tomcat/webapps
- 访问项目:
http://192.168.0.200:9999/test
192.168.0.200 替换成自己的 IP 地址