系列博客目录
Docker介绍
部署环境,核心体现在三点:
- 命令太多了,记不住
- 软件安装包名字复杂,不知道去哪里找
- 安装和部署步骤复杂,容易出错
其实上述问题不仅仅是新手,即便是运维在安装、部署的时候一样会觉得麻烦、容易出错。特别是我们即将进入微服务阶段学习,微服务项目动辄就是几十台、上百台服务需要部署,有些大型项目甚至达到数万台服务。而由于每台服务器的运行环境不同,你写好的安装流程、部署脚本并不一定在每个服务器都能正常运行,经常会出错。这就给系统的部署运维带来了很多困难。
那么,有没有一种技术能够避免部署对服务器环境的依赖,减少复杂的部署流程呢?
答案是肯定的,这就是我们今天要学习的Docker技术。你会发现,有了Docker以后项目的部署如丝般顺滑,大大减少了运维工作量。即便你对Linux不熟悉,你也能轻松部署各种常见软件、Java项目。
通过今天的学习,希望大家能达成下面的学习目标:
- 能利用Docker部署常见软件
- 能利用Docker打包并部署Java应用
- 理解Docker数据卷的基本作用
- 能看懂DockerCompose文件
2.配置docker
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
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
sudo yum makecache fast
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
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
sudo systemctl daemon-reload
sudo systemctl restart docker
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql
更多镜像
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me",
"https://ccr.ccs.tencentyun.com",
"https://docker.kejilion.pro",
"https://docker.melikeme.cn",
"https://docker.m.daocloud.io",
"https://cr.laoyou.ip-ddns.com",
"https://hub.fast360.xyz",
"https://docker.1panel.live",
"https://docker-0.unsee.tech",
"https://docker.tbedu.top",
"https://dockerpull.cn",
"https://hub.rat.dev",
"https://docker.imgdb.de",
"https://docker-0.unsee.tech",
"https://docker.hlmirror.com"
]
}
EOF