1.首先可以进行一步,yum包更新到最新
yum update -y
2.安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
3.下面的步骤是来自阿里云的官方文档(可以跟着操作)
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
最后验证一下docker的版本信息
docker -v
docker -version
4.设置ustc的镜像
ustc是老牌的linux镜像服务提供者了,ustc的docker镜像加速器速度很快
编辑该文件
mkdir -p /etc/docker
vim /etc/docker/daemon.json
文件内容输入以下内容
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
5.启动,查看,关闭docker
systemctl enable docker(开机自启)
systemctl start docker
systemctl status docker
systemctl stop docker
Docker常见命令
1.镜像的相关命令
1.查看镜像
docker images
repository:镜像名称
tag:镜像标签
image id:镜像ID
created:镜像的创建日期(不是获取该镜像的日期)
size:镜像大小
这些镜像都是存放在Docker宿主机的/var/lib/docker目录下
2.搜索镜像
docker search 镜像名称
name:仓库名称
description:镜像描述
stars:用户评价,反应一个镜像的受欢迎程度
official:是否官方
automated:自动构建,表示该镜像由Docker Hub自动构建流程创建的
3.拉取镜像
docker pull 镜像名称
4.删除镜像
docker rmi 镜像ID
5.删除所有的镜像
docker rmi `docker images -q`
2.容器相关命令
1.查看容器
docker ps
查看所有容器
docker ps -a
查看最后一次运行的容器
docker ps -l
查看停止的容器
docker ps -f status=exited
2.创建与启动容器
docker run
-i:表示运行容器
-t:表示容器启动后会进入其命令行,加入这两个参数后,容器创建就能登录进去了。即分配一个伪终端。
--name:为创建的容器命名
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个 -v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加 -i -t 两个参数,创建后就会自动进去容器)
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口,可以使用多个 -p 做多个端口映射。
1.交互式方式创建容器
docker run -it --name=容器名称 镜像名称:标签/bin/bash
2.守护式方式创建容器
docker run -di --name=容器名称 镜像名称:标签
进入刚创建的容器
docker exec -it 容器名称 /bin/bash(解释器)
停止容器
docker stop 容器名称/ID
启动容器
docker start 容器名称/ID
从宿主机拷贝到容器中
docker cp 文件名 容器ID:/usr/local
3.目录挂载
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。
创建容器 添加 -v 参数后边为宿主机目录:容器目录,例如
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:7
如果你共享的是多级的目录,可能会出现权限不足的提示。
这是因为Centos7的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=ture 来解决挂载的目录没有权限问题。
4、查看容器ip地址
docker inspect 容器名称(容器ID)
过滤
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器ID)
5.删除容器
docker rm 容器名称(容器ID)(容器是停止状态,不是运行状态)
3.迁移与备份
1.将容器保存为镜像
docker commit redis(旧镜像名称) myredis(新镜像名称)
2.镜像备份
docker save -o myredis.tar(会生成一个tar包文件) myredis(镜像名称)
3.镜像恢复与迁移
docker load -i myredis.tar