安装 docker 环境依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
配置国内 docker 的 yum 源(阿里云)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 docker-ce
[root@xuegod63 ~]# yum install docker-ce docker-ce-cli containerd.io -y
[root@xuegod63 ~]# systemctl start docker && systemctl enable docker
[root@xuegod63 ~]# docker version #显示 Docker 版本信息
[root@xuegod63 ~]# docker info #查看 docker 信息(确认服务运行)显示 Docker 系统
docker路径迁移
拷贝docker目录到新目录
cp -ar /var/lib/docker /data/dockerdir/
编辑docker服务配置文件
vim /usr/lib/systemd/system/docker.service
添加--data-root=/data/dockerdir/docker
容器命名语法:docker run -d --name 容器实例名 容器镜像名 要执行的命令
容器重命名语法: docker rename 旧容器名 新容器名
[root@xuegod63 ~]# docker run -itd --name docker1 docker.io/centos:latest /bin/bash a651acdb6b4af511ce568a3a24762c56ba868b5adafaae0aa4ab9cd47d578062
[root@xuegod63 ~]# docker ps #可以查看到
例 2:将 docke1 容器重命名
[root@xuegod63 ~]# docker rename docker1 odcker2
[root@xuegod63 ~]# docker ps
创建 docker 容器实例时指定主机名
语法:docker run -it --name 容器名 -h 指定主机名 镜像 /bin/bash
[root@xuegod63 ~]# docker run -it --name docker3 -h docker63.cn centos bash
给容器实例分配 512 权重的 cpu 使用份额参数: --cpu-shares 512
[root@xuegod63 ~]# docker run -it --cpu-shares 512 centos /bin/bash
docker cpu核心控制
docker run -it --name cpu1 --cpuset-cpus 0-2 centos bash
查看docker使用的cpu
cat /sys/fs/cgroup/cpuset/cpuset.cpus(在docker里面执行此命令)
docker 容器实例运行结束后自动释放资源
docker run -it --rm --name mk centos sleep 5
docker 数据映射。 docker 用来做计算,存储外挂 -device 参数:将主机设备添加到容器
docker run -it --name web1 -v /var/www/html/:/var/www/html centos bash
限制容器实例对硬盘的最高写入速度设定为 1MB/s
docker run -it -v /var/www/html/:/var/www/html --device /dev/sda:/dev/sda --device-write-bps /dev/sda:1mb centos /bin/bash
删除docker中的镜像,我们可以使用如下命令:
docker rmi 镜像id
- 1
删除docker中的容器可以使用如下命令:
docker rm 容器id
docker ps -a | grep -P '(minute|hour)' | grep Exited | grep -Po "[\-\w]+$" | while read c;do sudo docker start $c;done:启动最近docker
清理无用镜像
docker rmi $( docker images | grep "none" | awk '{print $3}')
docker images | grep "none" | awk '{print $3}'
docker内部执行shell
docker exec payable-1.2 sh -c 'find /root/project/payable/logs -name "payable_2021-0*.log" | xargs grep -E' >qfl.log
docker exec payable-1.2 sh -c 'find /root/project/payable/logs -name "payable_2021-0*.log" | ' >qfl.log