一、安装docker:
1.更新yum源:
yum update
2.安装依赖:
yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加yum源:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
之后可以查看一下docker的安装包:
yum list docker-ce --showduplicates | sort -r
4.安装docker:
yum install docker-ce
5.启动docker:
systemctl start docker
也可以设置为开机自启动:
systemctl enable docker
6.验证docker是否安装成功:
docker --version
显示出docker版本就是安装成功了
二、基本docker操作
1.查找镜像
docker search centos
以centos为例,查找centos的镜像,查找之后,镜像会列出来,根据需要进行选取
2.拉取镜像
docker pull centos
拉取你想要的镜像,之后会开始下载,将选中的镜像下载到本地
3.创建并运行一个容器:
docker run -itd --name test01 centos
4.连接容器:
docker attach test01
5.退出容器:
退出容器时,用 crtl + p + q 来退出,这样是退出容器的交互,而不会终止容器
退出并终止容器 exit
6.退出容器后,对容器执行命令:
docker exec test01 +command
7.停止容器:
docker stop test01
8.删除容器:
docker rm test01 普通删除,如果容器正在运行则不能删除成功
docker rm -f test01 强制删除容器,不管是不是在运行都进行删除
三、docker的镜像相关操作:
对运行中的容器进行配置后,保存为镜像:
docker commit test01 centos:shiniar
直接导出docker为tar包:
docker export test01 > test01.tar 容器导出为tar包
docker import test01.tar centos:test tar包恢复为镜像
导出镜像为tar包:
docker save centos > centos.tar 镜像导出tar包
docker load -i centos.tar tar包恢复为镜像
export 导出的是读写层的文件系统
sava 是导出完整的镜像
导出的镜像包可以复制到其他机器上使用
四、创建容器常用的选项
docker create 创建一个容器 不运行
docker run 创建一个容器,并且运行
-i 即时不附加容器,也会保持标准输入的打开 不加参数的话,不能通过附加的方式进入容器
指定ip:
docker run -itd --add host 主机名:ip 镜像名
docker run -it -a STDIN centos
--cap -add list 权限控制
--device list 添加宿主机上的设备到容器
docker -itd --dns 192.200.10.8 centos 为目标容器指定DNS
docker ps -l 查看最近的容器
docker run -itd --expose 80 centos 提示容器暴露了80端口,提供了80服务
如果容器挂了,就会不断重启
docker run -itd --restart always centos
如果容器挂了,就尝试重启三次
docker run -itd --restart on-failure:3 centos
docker ps
docker ps -a 显示所有容器
docker ps -l 显示最近创建的容器
docker ps -q 显示容器的PID
docker ps -s 显示容器的大小
docker attach 容器名或者容器PID
docker rm 删除容器
docker rm -f 强制删除容器
docker stop 停止容器
docker rename 原来容器名 想要设置的名字 容器重命名
docker exec 容器名 对容器执行命令
docker exec -it 容器名 command 交互形式对容器执行命令
docker port 容器名
docker cp filename 容器名:filepath 从系统中拷贝文件到容器中
docker cp 容器名:filepath localpath 从容器中拷贝文件到本机
docker diff 容器名 容器自启动以来之后所做的操作(在读写层)
docker logs 查看容器的标准输出
docker stats 动态查看docker的利用率等各项数据
docker stats --no-stream 容器名 只打印输出,不是交互的,方便脚本记录
docker update 可以对 cpu 内存 进行限制
docker events 针对当前docker的运行状况的事件
docker run -itd --name web01 -v /hbht : /hbht ubuntu