乐趣区

关于docker:37-容器的操作

创立

# --name 指定容器名称
# -d 指定容器当前台服务模式运行
# -p 指定端口映射
docker run --name web_server -d -p 80:80 nginx

# 基于镜像创立一个 centos 容器,并和容器进行交互
docker run -it centos

进行

docker stop $container_id

删除

 如果没有应用 -v 选项,并不会删除 volumes 数据
docker rm $container_id
# 删除所有已退出的镜像
docker ps -a | grep "Exited" | awk '{print $1}' | xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1}' | xargs docker rm

查看

# 查看正在运行的容器
docker container ls 
# 查看所有容器
docker container ls -a
docker ps -a
# 查看容器的状态信息
docker inspect $container_id

交互

 创立一个交互 shell
docker exec -it $container_id /bin/bash

不创立交互 shell,间接执行命令
docker exec -it $container_id ip a

日志

# 特定容器的日志内容
docker logs --tail 100 $container_id

# 查看所有容器的日志列表
find /var/lib/docker/containers/ -type f -name "*.log" -exec du -sh {} \;

# 清空所有容器的日志内容
find /var/lib/docker/containers/ -type f -name "*.log" -exec truncate -s 0 {} \;

# 清空所有容器的日志内容【如下命令不行,不分明是不是 echo 前面跟箭头导致的】find /var/lib/docker/containers/ -type f -name "*.log" -exec echo > {} \;

导出

docker export 与 save 的区别:

https://tuhrig.de/difference-…

  • docker export 导出的是容器,docker save 导出的是镜像
  • docker export 不蕴含构建历史和元数据,体积更小
docker export $container_id > /home/export.tar
退出移动版