Dcoker它是什么?(核心定义)
Docker 是一个开源的应用容器引擎。它允许你把一个应用程序及其所有依赖(代码、运行环境、系统工具、库文件等)打包成一个**“镜像”(Image),然后这个镜像可以随时在任何装有 Docker 的机器上,运行出一个隔离的“容器”**(Container)。
- 镜像(Image):相当于一个**“安装包”**或“蓝图”。比如你下载的
mysql:8.0就是一个镜像,里面包含了 MySQL 运行所需的所有文件,但此时它还没运行。
简单说些就像是压缩包,所有东西都给你打包好了等你解压使用
- 容器(Container):相当于一个**“正在运行的进程”**或“实例”。你把镜像
run(运行)起来,它就变成了一个活的容器,你的数据库和应用程序就运行在里面。
相当于解压了压缩包,把软件给你解压出来解压完以后自动启动执行
普通的压缩包解压后,文件是散落在你硬盘里的,和系统其他文件混在一起;而 Docker “解压”(即创建容器)时,实际上是在你的电脑里画了一个“沙盒”(隔离区)。这个“沙盒”拥有自己独立的文件系统、网络和进程空间,外部程序无法干扰它。
为什么要用 Docker?(对你有什么好处)
结合你刚才问的“部署 MySQL 和前后端项目”,Docker 会带来三个实实在在的好处:
- 环境一致性:你在自己电脑上构建的镜像,扔到公司服务器上,运行结果完全一样。彻底告别“环境配置半天最后项目起不来”的噩梦。
- 隔离性:不用担心数据库、Redis、后端服务之间互相干扰。即使 MySQL 容器崩溃了,也绝对不会影响你电脑上的其他软件。
- 简化部署:以前部署项目要手动安装 Java、配置 Nginx、安装 MySQL,一步步操作繁琐且容易出错。现在你只需要写好一个配置文件(
Dockerfile或docker-compose.yml),一行命令就能让整个项目(前端+后端+数据库)瞬间全部启动。
1.卸载旧版
首先如果系统中已经存在旧的Docker,则先卸载:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
docker-selinux
2.配置Docker的yum库
首先要按照一个yum工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo不是超级管理员需要加这个,如果是就不需要了
安装成功后,执行命令,配置Docker的yum源(已更新为阿里云源):
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
更新yum,建立缓存
sudo yum makecache fast
3.安装Docker
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4.启动和校验
# 启动Docker systemctl start docker # 停止Docker systemctl stop docker # 重启 systemctl restart docker # 设置开机自启 systemctl enable docker # 执行docker ps命令,如果不报错,说明安装启动成功 docker ps
5.配置镜像加速
镜像地址可能会变更,如果失效可以百度找最新的docker镜像。
# 创建目录
rm -f /etc/docker/daemon.json
# 复制内容
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://mirrors.tuna.tsinghua.edu.cn",
"http://mirrors.sohu.com",
"https://ustc-edu-cn.mirror.aliyuncs.com",
"https://ccr.ccs.tencentyun.com",
"https://docker.m.daocloud.io",
"https://docker.awsl9527.cn"
]
}
EOF
# 重新加载配置
systemctl daemon-reload
# 重启Docker
systemctl restart docker
Docker一些基础命令
| 命令 | 说明 | 文档地址 |
|---|---|---|
| docker pull | 拉取镜像 | |
| docker push | 推送镜像到DockerRegistry | |
| docker images | 查看本地镜像 | |
| docker rmi | 删除本地镜像 | |
| docker run | 创建并运行容器(不能重复创建) | |
| docker stop | 停止指定容器 | |
| docker start | 启动指定容器 | |
| docker restart | 重新启动容器 | |
| docker rm | 删除指定容器 | |
| docker ps | 查看容器 | |
| docker logs | 查看容器运行日志 | |
| docker exec | 进入容器 | |
| docker save | 保存镜像到本地压缩文件 | |
| docker load | 加载本地压缩文件到镜像 | |
| docker inspect | 查看容器详细信息 |
默认情况下,每次重启虚拟机我们都需要手动启动Docker和Docker中的容器。通过命令可以实现开机自启:
# Docker开机自启 systemctl enable docker # Docker容器开机自启 docker update --restart=always [容器名/容器id]

评论区
评论加载中...