目录
准备
- Docker 两个分支Docker: CE 即社区免费版,Docker EE 即企业版,需付费
- 官方建议要 CentOS7.0 及以上系统版本
运行CentOS 6.5及以后版本时,需要内核版本>=2.6.32-431
uname -r
3.10OK
Docker默认使用AUFS作为存储驱动
ls -l /sys/class/misc/device-mapper
如果没有检测到Device Mapper,需要安装device-mapper软件包
sudo yum install -y device-mapper sudo modprobe dm_mod
安装
yum -y install gcc yum -y install gcc-c++
如安装过卸载旧版本
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
# 安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 # 设置stable镜像仓库 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 或 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 更新yum软件包索引 yum makecache fast # 安装docker # 查看版本 yum list docker-ce.x86_64 --showduplicates | sort -r # 安装指定版本 # yum install docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io # 安装最新版本 yum -y install docker-ce # 启动docker systemctl start docker
安装常用镜像
# 安装 mysql docker pull mysql:5.7.25 # 启动镜像 # 设置时区和宿主机相同启动,启动镜像名称为 mysql,前面一个端口是映射端口,root是数据库密码, -v /etc/localtime:/etc/localtime是设置时区与宿主机一致,/data/docker/mysql 是宿主机目录用来保存 mysql 的数据 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v /etc/localtime:/etc/localtime -v /data/docker/mysql:/var/lib/mysql -d mysql:5.7.25 # 安卓redis docker pull reids:5.0.4 # 启动镜像名称为 redis,前面一个端口是映射端口,/data/docker/redis是宿主机数据保存地址 ,appendonly yes是后台启动,**requirepass “root”**是设置密码为root docker run --name redis -p 6379:6379 -v /data/docker/redis:/data -d redis:5.0.4 redis-server --appendonly yes --requirepass "root" docker start redis # 进入容器 docker exec -it mysql /bin/bash
常用命令
查看docker版本
docker version
搜索镜像-start代表受欢迎程度。OFFICIAL代表官方版本
docker search tomcat
查看当前所有镜像
docker images
下载镜像
# 下载镜像 docker pull centos # 运行容器 docker run centos echo "hello word" # 运行容器 hello word docker run hello-world
删除
列出docker包的具体的名字
sudo yum list installed | grep docker
containerd.io.x86_64 1.2.4-3.1.el7 docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-cli.x86_64 1:18.09.3-3.el7
删除docker
sudo yum -y remove containerd.io.x86_64 \
或者直接删除docker
sudo yum remove docker \ docker-io \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
清除镜像和容器文件:
sudo rm -rf /var/lib/docker
镜像加速
Docker国内镜像:
- 网易加速器:http://hub-mirror.c.163.com
- 官方中国加速器:https://registry.docker-cn.com
- ustc的镜像:https://docker.mirrors.ustc.edu.cn
也可使用私人镜像加速器地址,如使用阿里云的镜像加速器:登录阿里云->产品->搜索"容器镜像服务"->镜像库->镜像加速器。
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
vi /etc/docker/daemon.json { "registry-mirrors": ["https://hub-mirror.c.163.com"] }
配置成功后,CentOS7重启:
systemctl daemon-reload #重启加速配置文件 systemctl restart docker #重启docker后台服务
Docker 容器
特性 容器 虚拟机 启动 秒级 分钟级 硬盘使用 一般为 MB 一般为 GB 性能 接近原生 弱于 系统支持量 单机支持上千个容器 一般几十个
看到辛辛苦苦配置好的软件齐全虚拟机,忽然不想玩容器了!!