Docker笔记

Docker相关链接

编号分类小分类文章及链接介绍来源分类撰写日期收录日期
1环境提速Linux安装指定版本的docker及添加国内镜像源添加国内镜像源,提高docker images下载速度本博客2020-02-132020-02-28
2日志Docker容器日志查看与清理(亲测有效)日志清理及日志大小限制CSDN博客2018-05-112020-03-11
3日志Docker容器实例日志查看本博客2020-03-132020-03-13
4故障重启docker 容器一直重启的解决方法还可以通过容器日志(docker logs等方式)查看问题原因个人网站2018-12-072020-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 来查看所有运行中的容器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值