Docker 基础操作
问题:docker ps 报错:Cannot connect to the Docker daemon at unix…本地查看文件大小:du -d1 -h /var/lib/docker/containers | sort -h。:删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)删除nginx日志文件,空间未释放,需要重启一下nginx。已安装则需要先卸载:yum
Docker 基础操作
1. Centos 安装
1.1 安装 docker
Centos8 默认装的是podman
已安装则需要先卸载:yum remove docker
- 下载docker-ce源
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo - 安装docker-ce
yum install docker-ce -y
问题:docker ps 报错:Cannot connect to the Docker daemon at unix…
原因:docker安装后未启动
方案:systemctl start docker.service
1.2 安装 docker-compose
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
# 下载
curl -SL https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
# 添加可执行权限
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
# 添加链接
ln -s $DOCKER_CONFIG/cli-plugins/docker-compose /usr/bin/docker-compose
docker-compose version
2. 镜像制作
在有Dockfile的目录下执行:docker build -t imageName:v1 .
查看镜像docker images
打包为文件docker save -o fileName.tar imageName:v1
在另一个环境加载docker load < fileName.tar
3. 运行及查看
使用docker-compose运行
编写 docker-compose.yml配置文件docker-compose up -d
查看当前运行的容器:docker ps
查看日志docker logs -f xxxx--tial 200
进入容器环境docker exec -it xxxx /bin/bash
4. 文件拷贝
- 本机文件到容器
docker cp ./file xxxx:/path/to/ - 从容器拷贝到本地
docker cp xxxx:/path/to/file ./
5. 空间清理
查看Docker的磁盘使用情况:docker system df
批量查看volume大小: Volume: dfzn-system_mysql /var/lib/docker/volumes/dfzn-system_mysql/_data 5.3G /var/lib/docker/volumes/dfzn-system_mysql/_data
本地查看文件大小:du -d1 -h /var/lib/docker/containers | sort -h
删除无用镜像:docker image rm xxxx
清理docker磁盘 docker system prune:删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)
查找超过100M的文件:find / -xdev -size +100M -exec ls -l {} \;
删除nginx日志文件,空间未释放,需要重启一下nginx。
6. 实践总结
- 可通过 .env 设置环境变量, 不用 env_file 指定,可替代 environment 中的默认值。
- 测试通过 env_file: filename.env, 定义的环境变量,会被environment的同名变量的默认值替代。(why)
- 删除容器或镜像默认不会删除数据。
- 通过多阶段构建减少最终镜像的大小,只包含运行时所需的文件,而不包括编译工具等开发依赖。
- 通过
.dockerignore忽略文件或目录,避免将敏感信息或无关文件打包进镜像。 - 定期清理未使用的镜像和容器:
docker system prune -af --volumes
更多推荐



所有评论(0)