1、卸载旧版本 (卸载后将保留 /var/lib/docker 的内容:镜像、容器、存储卷和网络等)
$ yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、Docker 安装
版本:社区版(CE)和企业版(EE)
安装要求:操作系统必须64位,可以用 uname -r 命令查看系统
(1)安装依赖包 (可用 rpm -qa | grep xxx 命令查看依赖包是否已安装)
$ yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
(2)设置 yum 源
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(3)更新 yum 源软件索引
$ yum makecache fast
(4)安装 docker
$ yum install docker-ce docker-ce-cli containerd.io
# 查看docker版本
$ yum list docker-ce --showduplicates | sort -r
# 查看指定版本的 docker
$ yum list docker-ce.x86_64 --showduplicates | sort -r
# 安装指定版本的 docker
$ yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
# 启动 docker
$ systemctl start docker
# 开机启动 docker
$ systemctl enable docker
# 查看 docker 运行运状态
$ systemctl status docker
# 运行 hello-world 映像来验证是否正确安装了 Docker
$ docker run hello-world
# 查看 docker 版本
$ docker version
3、Docker 镜像加速
编辑 /etc/docker/daemon.json 文件,没有就新建一个,加入如下内容。 /etc/default/docker
{
"registry-mirrors":["https://registry.docker-cn.com"]
}
# 阿里云镜像加速器:https://dev.aliyun.com/search.html
# 登录阿里云-产品-开发和服务-容器镜像服务-管理控制台,点击镜像加速器
{
"registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
}
# 通知 systemd 重载此配置文件
$ systemctl daemon-reload
# 重启 docker
$ systemctl restart docker
# 检查加速器是否生效
$ docker info
4、开放docker的远程连接访问
vi /usr/lib/systemd/system/docker.service
# 修改ExeStart为:
/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
5、docker 常用命令
(1)镜像使用
镜像就是将软件环境打包好的模板,用来创建容器的,一个镜像可以创建多个容器
$ docker search 镜像名 ## 查找镜像,比如 docker search java:8
$ docker pull 镜像名:TAG ## 下载镜像,比如 docker pull java:8 不加TAG默认下载最新版
$ docker images ## 查看本地所有镜像
$ docker rmi -f 镜像ID或者镜像名:TAG ## 删除镜像 -f 强制删除
$ docker inspect 镜像ID或者镜像名:TAG ## 获取元信息 构建信息,如果有问题可以来这里查查
(2)容器使用
启动一个镜像就是一个容器,容器与容器之间相互隔离,并且互不影响
$ docker pull tomcat ## 拉取最新版tomcat
$ docker run --name tom -p 80:8080 -d tomcat:latest # 启动 Tomcat
# --name 指定容器名
# -i 以交互式操作运行
# -t 分配一个伪终端,即命令行,通常-it组合来使用
# -p 指定映射端口,讲主机端口映射到容器内的端口
# -d 后台运行容器
# -v 指定挂载主机目录到容器目录,默认为rw读写模式,ro表示只读
$ docker logs tom # 查看 tom 运行情况,发现tomcat并未起来(5 6分钟后才起来)
# 根据官网说明,修改 java.security 可解决tomcat启动缓慢问题
$ docker exec -it tom /bin/bash
$ docker ps -a # 查看所有的容器 -q 只查看容器 ID
$ docker start <容器 ID> # 启动容器
$ docker stop <容器 ID> # 停止容器
$ docker restart <容器 ID> # 重启容器
$ docker attach # 进入容器
$ docker exec # 进入容器 推荐使用 ,因为此退出容器终端,不会导致容器的停止。
$ exit ## 退出容器