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