uname -r
确保 yum 包更新到最新
yum update
安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
安装docker
yum install docker-ce
创建或修改 /etc/docker/daemon.json 文件,修改为如下形式
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
重启docker
systemctl daemon-reload
systemctl restart docker
查看是否成功
docker info
查找镜像
docker search 关键字
拉取镜像
docker pull 镜像名
查看本地镜像
docker images # 未来可能被删除
docker image list
docker image ls
删除镜像
docker rm -f 镜像id或者镜像名:TAG
查看镜像的元数据
docker inspect 镜像ID或者镜像名:TAG
运行镜像-->容器
docker run --name 容器名 -i -t -p 主机端口:容器端口 -d -v 主机目录:容器目录:ro 镜像ID或镜像名:TAG
--name 指定容器的名字
-i 以交互的模式运行容器
-t 分配一个伪终端(可以理解成bash命令行)
-p 端口映射,将主机的端口映射向容器内部的端口
-d 后台运行
-v 将主机目录(全路径)挂载到容器的目录中,比如可以让容器中的软件读取宿主机上的配置文件(默认rw读写,ro只读)
-v 注意它进行的目录级别的挂载,在使用-v启动容器之前,确保将容器目录中的配置文件拷贝到主机目录下
-v 根据需求修改主机目录配置文件,再启动时,容器会去主机目录下读取配置文件
-i -t 通常都被简写成-it, 容器中必须运行一个进程容器才不会自动退出,通常使用这个-it让容器运行bash,不让他退出
-v和-p都是可以重复使用的
查看容器列表
docker ps # 正在运行的
docker container list # 正在运行的
docker ps -a # 能看到停止状态Containner
停止容器
docker stop 容器ID或者容器名
重启容器
docker restart 容器ID或者容器名
删除容器
docker rm -f 容器id或者容器名
-f 表示强制删除
查看日志
docker logs 容器ID和容器名
进入正在运行的容器
docker container exec -it 指定的容器名或者容器的ID /bin/bash
# 顺序别乱
# 进入正在运行的容器并开启交互模式终端
# 这个正在运行中的容器可以理解成它是一个简化的linux
# /bin/bash 是固定的写法,标准的linux的shell,表示docker作为一个deaman在后台运行
退出容器
exit
拷贝文件
docker cp 主机文件路径 容器ID或者容器名:容器路径 将主机中的文件拷贝到容器中
docker cp 容器ID或者容器名 主机文件路径 # 将容器中的文件拷贝到主机中
# 因为docker容器里面没有vim vi命令,不能直接修改它里面的配置文件
# 如果真的做配置文件的映射,别忘了将原来的Containner杀掉,然后从新启动image产生新的Containner
# 重新运行时需要在命令行上添加参数表示告诉docker来宿主机读取配置文件 参数: -v
获取容器的元信息
docker container inspect 容器ID或容器名
原文:https://www.cnblogs.com/jansang/p/14076225.html