Docker概述
Docker是一个用于开发,交付和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助Docker,您可以以与管理应用程序相同的方式来管理基础架构。通过利用Docker的快速交付,测试和部署代码的方法,您可以显着减少编写代码和在生产环境中运行代码之间的延迟。
Docker通常用于如下场景:
- web应用的自动化打包和发布;
- 自动化测试和持续集成、发布;
- 在服务型环境中部署和调整数据库或其他的后台应用;
- 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
Docker中三个基本的概念:
- Image(镜像)
- Container(容器)
- Repository(仓库)
镜像是Docker运行容器的前提,仓库是存放镜像的场所。
使用Docker的步骤:
1)安装Docker
首先查看内核版本,Docker支持 64 位版本 CentOS 7/8,并且要求内核版本不低于 3.10
安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。
yum install -y yum-utils
由于网络原因,这里使用国内yum源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
清除缓存
yum clean all # 清除系统所有的yum缓存 yum makecache # 生成yum缓存
安装docker
yum install docker-ce docker-ce-cli containerd.io
安装完成,测试Docker是否安装正确
systemctl start docker # 启动docker docker run --rm hello-world
如能正常输出以上信息,则说明安装成功。
Docker换源
/etc/docker/daemon.json 中写入如下内容(如果文件不存在则新建该文件)
{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://cr.console.aliyun.com", "https://registry.docker-cn.com" ] }
之后重新启动服务。
systemctl daemon-reload
systemctl restart docker
2)去Docker仓库下载软件对应的镜像
下载一个mysql镜像
docker pull mysql:5.7.31
查看镜像列表
docker images
3)使用Docker运行这个镜像
运行mysql镜像
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7.31
使用Navicat连接数据库进行测试
连接成功
停止容器
4)Docker基础命令总结
docker images #列出镜像列表
docker search 镜像名 #查找镜像
docker pull 镜像名 #下载镜像
docker run 镜像名 #将镜像放入容器中,然后将容器启动
docker ps #查看正在运行的容器
docker ps -a #查看所有容器
docker exec -it 容器ID /bin/bash #进入到容器
docker start 容器名称或容器ID #启动容器
docker stop 容器名称或容器ID #停止容器
docker rmi 镜像ID #删除镜像
docker rm 容器ID #删除容器
参考文档:
https://yeasy.gitbook.io/docker_practice/install/centos
https://docs.docker.com/engine/install/centos/
https://www.docker.org.cn/index.html