文章目录
Docker相关链接
编号 | 分类 | 小分类 | 文章及链接 | 介绍 | 来源分类 | 撰写日期 | 收录日期 |
---|---|---|---|---|---|---|---|
1 | 环境 | 提速 | Linux安装指定版本的docker及添加国内镜像源 | 添加国内镜像源,提高docker images下载速度 | 本博客 | 2020-02-13 | 2020-02-28 |
2 | 日志 | Docker容器日志查看与清理(亲测有效) | 日志清理及日志大小限制 | 优快云博客 | 2018-05-11 | 2020-03-11 | |
3 | 日志 | Docker容器实例日志查看 | 本博客 | 2020-03-13 | 2020-03-13 | ||
4 | 故障 | 重启 | docker 容器一直重启的解决方法 | 还可以通过容器日志(docker logs等方式)查看问题原因 | 个人网站 | 2018-12-07 | 2020-03-17 |
笔记
docker image rm [选项] <镜像1> [<镜像2> ...]
<镜像> 可以是 镜像短 ID 、 镜像长 ID 、 镜像名 或者 镜像摘要 。
1. 删除未使用到的镜像
docker image prune -a
docker image prune -a -f #-f强制,不需要确认
2. 删除容器
2.1 删除所有容器,包括运行中的以及终止的容器
docker rm -f `docker ps -aq`
选项解释:
- -f:可以删除运行中的容器。Docker 会发送 SIGKILL信号给容器。
- -a:可以查看所有已经创建的包括终止状态的容器
- -q:只列出容器ID
例子:
$docker ps -q
2c97cc5db096
6e8ee2f6420e
3afa48e8606f
2.2 批量清理已经停止的容器
docker container prune
3. 查看所有容器日志文件的大小等信息
日期的日志都是在该容器下根目录的,文件名以“-json.log”结尾的文件。下面的办法可以列出所有容器的详细信息。
sudo find /var/lib/docker/containers/ -name *-json.log |xargs sudo ls -l
4. 主机与容器互传文件
首先需要确定docker容器的container_id(可以为短写版,最少可以4个字符),使用docker ps -a 命令可以查看container_id。
4.1 docker容器向本机传送文件
docker cp container_id:fullpath_source_filename target_filename(or target_directory)
例:
docker cp 4a2f08d2c1f8:/data/container_file container_file
4.2 本机向docker容器传送文件
格式:
docker cp source_filename container_id:fullpath_target_filename(or target_directory)
例:
docker cp host_file 4a2f08d2c1f8:/data/
在 Docker 容器中执行命令,你可以使用 docker exec
命令。这允许你在运行中的容器内部启动一个新命令。以下是一些常用的 docker exec
命令示例:
5. 执行交互式命令
要在容器中以交互式方式打开一个 shell,你可以使用:
docker exec -it <container_name_or_id> /bin/sh
如果不行,容器中包含 bash的话使用下述命令:
docker exec -it <container_name_or_id> /bin/bash
这里的 -it
参数是两个参数的组合:
-i
(或--interactive
)保持 STDIN 打开,即使不附加到容器。-t
(或--tty
)分配一个伪终端。
将 <container_name_or_id>
替换为你的容器名称或 ID。
6. 执行非交互式命令
如果你只是想在容器中运行一个命令并立即返回结果,不需要进入交互模式,可以省略 -it
参数,如下所示:
docker exec <container_name_or_id> ls
这将在容器内执行 ls
命令并显示其输出。
作为特定用户执行命令
如果你需要以特定用户的身份执行命令,可以使用 --user
(或 -u
)选项:
docker exec -u <user> -it <container_name_or_id> /bin/bash
设置环境变量
若要在执行命令时设置环境变量,可以使用 -e
选项:
docker exec -e VAR=VALUE -it <container_name_or_id> /bin/bash
这将在容器内的 shell 中设置环境变量 VAR
的值为 VALUE
。
示例
假设你有一个名为 my_container
的容器,并且你想在其中创建一个名为 test.txt
的新文件,你可以执行:
docker exec my_container touch /tmp/test.txt
确保在执行 docker exec
命令时,你指定的容器是正在运行的。你可以使用 docker ps
来查看所有运行中的容器。