CentOS上安装Docker
CentOS上安装Docker
前提条件:
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
可通过 **uname -r **命令查看你当前的内核版本
一.安装Docker
1.安装检查之前是否安装过,若安装过,请移除旧版本:
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
2.安装一些必要的系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
!
4.安装 Docker-ce
sudo yum -y install docker-ce
5.启动 Docker 后台服务
sudo systemctl start docker
6.测试运行 hello-world
docker run hello-world
7.镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决.新版的 Docker 使用 /etc/docker/daemon.json来配置 Daemon。
使用命令***vim /etc/docker/daemon.json***编辑
在CentOS修改加速镜像为阿里云,这里有阿里云官方教程在centos7上修改docker加速镜像为阿里云
#网易云
{"registry-mirrors": ["http://hub-mirror.c.163.com"] }
#阿里云
{
"registry-mirrors": ["https://{自已的编码}.mirror.aliyuncs.com"]
}
使用阿里云加速镜像具体操作流程:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
##二.Docker上获取CentOS镜像,并启动容器。
这里以获取CentOS镜像为例,以此来展示如何获取一个docker镜像并创建容器
1.查看CentOS镜像版本
搜索镜像方式有如下两种:
1.通过docker search 来查询指定的镜像
2.通过到[docker hub][https://hub.docker.com/explore/]上来查找相应的镜像
a.输入命令***docker search centos***
b.通过到docker hub上查找镜像
两者区别:由于本人是刚接触docker,这里能看到的明显区别是,使用docker search命令查找的镜像结果中不包含每个镜像的版本信息,而通过docker hub上查找的可查看镜像的历史版本信息。一般来说,都是会现在docker hub上查找所需镜像的版本,然后使用命令***docker pull 镜像:版本号*** 来拉取镜像。
2.使用docker pull命令获取CentOS镜像
sudo docker pull centos
这里拉取镜像时没有加上镜像版本信息,这样拉取的镜像默认是拉取docker hub上最新发布的镜像。
3.运行镜像
有了镜像以后,我们就可以以这个镜像为基础来启动一个容器
docker -it --rm centos bash
参数解释:
-
-it :这是两个参数,一个是 -i :交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。
-
–rm :这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm 。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。
-
centos : 这是指用 centos 镜像为基础来启动容器。这里没写版本号,默认是使用last版本
-
bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是bash。
进入容器后,我们可以在 Shell 下操作,执行任何所需的命令。最后我们通过 exit 退出了这个容器。
##三.列出镜像
1.要想列出已下载的镜像,可以使用命令docker images命令
列表包含了仓库名、标签、镜像 ID、创建时间以及所占用的空间。
2.中间层镜像
为了加速镜像构建、重复利用资源,Docker 会利用 中间层镜像。所以在使用一段时间后,可能会看到一些依赖的中间层镜像。默认的 docker images 列表中只会显示顶层镜像,如果希望显示包括中间层镜像在内的所有镜像的话,需要加 -a 参数。
$ docker images -a
3.列出部分镜像
在不加任何参数的情况下,docker images会显示所有顶级镜像,但是有时候我们只希望列出部分镜像,可以使用 ***docker images imageName:tag***來查詢。除此以外,docker images 还支持强大的过滤器参数 --filter ,或者简写 -f 。之前我们已经看到了使用过滤器来列出虚悬镜像的用法,它还有更多的用法。比如,我们希望看到在 mongo:3.2 之后建立的镜像,可以用下面的命令: