查看centos系统内核版本 uname -r
yum包更新到最新 sudo yum update
卸载之前版本(如果安装过) sudo yum remove docker docker-common docker-selinux docker-engine
安装需要的软件包,yum-util提供yum-config-manager功能,另外是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置docker-ce源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
安装docker
sudo yum install docker-ce
sudo yum install install docker-ce-17.12.0.ce
docker-ce.x86_64 3:20.10.3-3.el7
启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
关闭dockers systemctl stop docker
验证安装是否成功 docker version
查看正在运行的容器 docker ps
复制容器id并查询(Path后面的值即为该运行容器的位置,HostPath后面的值即为docker容器所在位置)
docker inspect 3e27d4875c06
查询安装过的包 yum list installed | grep docker
查看docker运行状态 systemctl status docker
出现 Active: active (running) 说明正在运行
出现 Active: inactive (dead) 说明停止运行
docker容器的创建、启动、停止
容器启动
a,交互方式。
1,基于镜像新建容器并启动
docker run centos:latest cal 注:centos:latest为镜像名和标签 cal为打印日历表
2,通过指定参数,启动一个bash交互终端
docker run -it centos:latest /bin/bash
(参数-t让Docker分配一个伪终端并绑定在容器的标准输入上,-i让容器的标准输入保持打开)
3,使用docker run命令来启动容器,docker在后台运行的标准操作如下
1)检查本地是否存在指定的镜像,不存在则从共有仓库下载
2)使用镜像创建并启动容器
3)分配一个文件系统,并在只读的镜像层外面挂载一层可读可写层
4)从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
5)从地址池分配一个ip地址给容器
6)执行用户指定的应用程序
7)执行完毕之后容器被停止
docker run -it my/sinatra:v2 /bin/bash
my/sinatra:v2基于training/sinatra镜像进行修改后的镜像,training/sinatra为公有仓库上的镜像。
b,短暂方式。直接将一个已经终止的容器启动运行起来
可以使用docker start命令,直接将一个已经终止的容器启动运行起来
docker run centos:latest /bin/echo hello test
查看前5个的container,第一个是最后执行的container docker ps -n 5
c,daemon方式,守护态运行。即让软件作为长时间服务运行,SAAS
启动centos后台容器,每隔一秒打印当天的日历
docker run -d centos /bin/sh -c "while true;do echo hello docker;sleep 1;done"
要查看启动的centos容器中的输出,可以使用如下方式:
docker logs $container_id 在container外面查看它的输出
docker attach $container_id 连接上容器实时查看
终止容器
docker stop $container_id 终止一个运行中的容器。可使用docker ps -a查看终止状态的容器。
sudo dockerd --debug