天天看点

docker常用命令

安装 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

继续阅读