安装Docker详细步骤总结
Posted 素心如月桠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装Docker详细步骤总结相关的知识,希望对你有一定的参考价值。
一、安装Docker
♦️ 1.下载关于Docker的依赖环境
在Xterm中输入以下代码安装依赖环境 回车
yum -y install yum-utils device-mapper-persistent-datalvm2
使用yum工具下载
yum是软件包管理工具
通过 执行 man yum
可以查看yum的帮助信息
♦️2.设置一下下载Docker的镜像源
依赖环境下载完毕以后,设置下载的镜像源,如果不设置,会默认去Docker的官方下载,但是官方的服务器在国外,下载会比较缓慢,设置下载国内的镜像源(镜像就是英文单词image)
使用国内的阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
♦️3.安装Docker
首先,
下面这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度
yum makecache fast
提高安装速度以后,安装docker相关的。(docker-ce 社区版 而ee是企业版)
yum install docker-ce docker-ce-cli containerd.io
♦️4.启动,并设置为开机自动启动,测试
4.1 启动Docker服务
systemctl start docker
4.2 设置开机自动启动
systemctl enable docker
4.3 测试
docker run hello-world
如果出现以下代码,说明运行成功:
[root@iZ2ze68ge5c1uwlkmnb9ixZ zcapp]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:0e11c388b664df8a27a901dce21eb89f11d8292f7fca1b3e3c4321bf7897bffe
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
分析上图的打印信息
🔹红色标注:docker run hello-world运行,这个hello-word程序,所有的命令都是通过docker run来运行的
🔹接下来看蓝色标注:Unable to find image ‘hello-world:lastest’ locally,找不到这个镜像在本地。
🔹接下来看绿色标注:Pulling from library/hello-world,pull拉取我们官方的library下的helloworld镜像,给他下载下来
🔹最后如果出现紫色标注的部分,说明Docker run hello-world命令运行成功了
也可输入以下命令查看hello-world镜像是否下载成功:docker images
上图中红色方框中:
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的创建时间
SIZE 镜像的大小
看到hello-world,这个镜像是存在的。
安装学过了以后,了解一下卸载,第一步
♦️卸载软件
你刚刚下载的时候使用的命令是
yum install docker-ce docker-ce-cli
containerd.io
卸载的命令是
yum remove docker-ce docker-ce-cli
containerd.io
软件卸载后,Docker默认的工作路径是/var/lib/docker
需要执行rm命令把这个工作路径删除
rm -rf /var/lib/docker
二、阿里云镜像加速
配置镜像加速就是为了在下载镜像的时候提高效率,
具体操作看这篇文章的2.3节:Doctor最新详解
总结:
就是找到etc/docker/daemon.json文件并修改,添加代码如下(如果在/etc/docker下找不到daemon.json文件,可以自己新建,cd切换到/etc/docker目录下,使用touch命令创建)
"registry-mirrors": ["https://78q96cy9.mirror.aliyuncs.com"]
再重新vi daemon.json
按下i
键,复制上面的代码右键Paste,按下Esc
键,输入:wq
,保存并退出即可
修改完成以后,在Xterm中输入以下代码重启镜像、重启docker
systemctl daemon-reload
systemctl restart docker
总结:上面的步骤,依次把以下代码逐行复制到Xterm中,就可以直接执行创建daemon.json并修改文件,重启2个服务
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
"registry-mirrors": ["https://78q96cy9.mirror.aliyuncs.com"]
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
三、docker的中央仓库
把你的环境上传到公共仓库中,如果别人需要你这个环境,再派大海豚从公共仓库里去拿
谁提供了这样的仓库呢?
💠 docker自己提供了http://hub.docker.com/,但是服务器在国外,非常慢,为了解决这个问题,国内很多公司也在做自己的仓库.
💠 比较知名的是由网易蜂巢提供的 https://c.163yun.com/hub#/m/home/
以及daocloud:http://hub.daocloud.io(推荐使用daocloud)
怎么从这个网站上拉取镜像,待会在第四章、镜像操作里会说
💠在公司内部,会采用私服的方式拉取镜像
需要添加如下配置
修改文件:/etc/docker/daemon.json
添加以下代码(如果在/etc/docker下找不到daemon.json文件,可以自己新建)
"registry-mirrors":["https://registry.docker-cn.com"],
"insecure-registries":["ip:port"]
上面ip和port是你公司内部的地址和端口号
然后还需要重启两个服务,在Xterm中输入以下代码
systemctl daemon-reload
systemctl restart docker
上面两行代码把镜像重启、docker重启
四、镜像操作
登录到上面说过的国内的仓库daocloud :http://hub.daocloud.io
注册登录一下:
这里我选择的版本是8.5.15-jre8
复制上面的路径。
到Xterm中输入如下代码拉取tomcat:
docker pull 镜像名称
镜像名称就是我们刚刚复制的那个路径
docker pull daocloud,io/Library/tomcat:8.5.15-jre8
回车,就可以成功拉取tomcat
接下来,输入命令docker images
查看上面这个tomcat镜像是否下载成功
可以看到下载成功
♦️Docker pull命令就是下载镜像
下面来下载mysql,输入以下命令:
Docker pull mysql
刚刚下载tomcat的时候是去仓库daocloud中复制路径,我们可以选择下载的版本,上面下载的是8.5的版本的Tomcat。
现在下载mysql没有去仓库daocloud复制路径,直接输入名称如下图:
默认就会下载最新版(latest)的mysql
当然,我们也可以指定下载版本
输入命令:docker pull mysql:5.7
运行发现,部分已经存在,刚刚下载mysql最新版的时候已经下载过了一部分,对于相同的部分不会重复下载。
输入docker images查看镜像
由上图可以看到mysql镜像有2个版本,一个最新版latest,还有一个5.7版本
♦️删除镜像,怎么删除?
看上图中红色剪头所指的部分,
是刚刚下载的tomcat
和一开始下载的hello-world对应的IMAGE ID,
如图,删除镜像的时候就用的这个Image ID值,但不用写完整,只要写开头几个就行,例如,hello-world的Image ID是fce289e99eb9,删除的时候只要写开头两个字母fc就可以删除。
输入命令docker rmi fc
删除hello-world镜像
输入命令docker rmi b8
删除tomcat镜像
删除hello-world报错是因为这个程序正在运行中没法删除
🔹一次性删除所有镜像
输入命令:docker rmi -f $(docker images -aq)
docker images -aq命令可以查看所有镜像的ID,往下翻,在docker帮助命令中有具体使用方式
♦️镜像的导入导出(不规范)
🔹将本地的镜像导出
docker save -o 导出的路径 镜像id
🔹加载本地的镜像文件
docker load -i 镜像文件
实操如下:
把下载的tomcat镜像导出,依据的是Image ID
在Xterm中输入上图剪头所示代码,
docker save -o ./tomcat.image b8
的意思是
把镜像(Image ID以b8开头)下载到当前目录
./tomcat.image中(.代表当前目录)
上图中,ls查看,可以看到导出成功,存在tomcat.image
接下来把导出的这个文件再次重新下载回来,
先把一开始从daocloud上pull下来的tomcat删除。从刚刚导出的这个位置(./tomcat.image)重新下载回来。
上面说过,删除要依据Image ID,所以先输入以下命令:
docker Images
查看所有镜像如下图所示:
可以看到tomcat镜像的Image ID是b8开头
所以输入命令docker rmi b8
删除tomcat镜像
然后从刚刚导出的这个位置(./tomcat.image)重新下载回来。
导入的命令:
docker load -i tomcat.image
如下图
下载成功如下图:
导入完成以后,再次查看镜像:docker images
如下图红色方框,导入的镜像没有tag,为none
如上图,绿色标注就是修改Image ID以b8开头的这个镜像的tag
docker tag b8 tomcat:8.5
再次查看:docker images
,tag值不再是none,而是你刚刚修改的tomcat :8.5
docker帮助命令
♦️显示Docker的版本信息
docker version
♦️查看docker的系统信息,包括镜像和容器的数量
docker info
如上图所示,容器有1个,正在运行0个,0个暂停的,0个停止的,1个镜像,版本信息是19.03.8
♦️Doctor的帮助命令
docker 命令 --help
如下查看镜像的可选项
可以看到,
-a是–all的缩写,列出所有镜像
-f是–filter的缩写,
-q是–quiet的缩写,列出镜像的Image ID
上图中-aq的意思是列出所有镜像的Image ID
♦️ docker search 搜索镜像
搜索镜像类似于我们直接在仓库中搜索,
如下图中在docker hub官网上搜索mysql的镜像:
https://hub.docker.com/search?q=mysql&type=image
搜索结果如下
上图中可以看到第一个搜索结果,
mysql的收藏量stars是9.5k
接下来我们直接在Xterm上操作
🔹输入命令docker search mysql查看MySQL的镜像
上图中可以看到,收藏量STARS是9494,与刚刚在官网上查到的一样
🔹接下来,输入docker search --help查看帮助文档
可以看到docker search这个命令的可选项只有-f过滤
输入以下命令:
docker search --filter=STARS=3000
搜索结果就是收藏量stars大于3000的
docker search --filter=STARS=5000
搜索结果就是收藏量stars大于5000的
以上是关于安装Docker详细步骤总结的主要内容,如果未能解决你的问题,请参考以下文章