3.7 容器的操作

创建

# --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

你可能感兴趣的:(docker)