Docker | docker常用命令
帮助命令
docker version # 显示docker版本信息
docker info # 显示docker系统系统信息,镜像以及容器数量等信息
docker 命令 --help # 帮助命令
- 启动docker服务
service docker start
或者
- 停止docker服务
service docker stop
- 检查docker 守护进程是否在运行,docker运行状态查询
docker stats
- 查看docker相关信息
docker info
- 列出所有容器
docker ps -a
- 最后一次运行的容器
docker ps -l
- 重新启动已停止的容器
docker start [容器ID|容器名称]
或者重启已运行的容器
docker restart [容器ID|容器名称]
- 获取容器的日志
docker logs [容器名称]
获取最后几条日志
docker -f [容器名]
- 列出镜像
docker images
- 拉取镜像
docker pull [镜像名|镜像名:版本号]
- 删除所有容器
docker rm $(docker ps -a -q)
- 删除单个容器
docker rm [容器名|容器ID]
- 删除镜像
删除所有镜像(谨慎使用)
docker rmi $(docker images | grep none | awk '{print $3}' | sort -r)
删除单个镜像
docker rmi [镜像名|镜像名:版本号]
- 保存镜像
docker save [镜像名] > /home/新镜像名.tar
- 加载自定义镜像
docker load < /home/自定义镜像.tar
docker load -i 自定义镜像.tar
-i 显示加载详情信息
- 获取容器更多信息
docker inspect 容器名
- 删除为none的镜像
docker images --no-trunc| grep none | awk '{print $3}' | xargs -r docker rmi
- 查找镜像
docker search [镜像名]
- 创建容器并运行
# docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -v /home:/home -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /usr/share/fonts/chinese:/usr/share/fonts --name=[要命名的容器名] -d -i --network=host [镜像名|镜像名:版本号] fc-cache -fv
OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-p ip:宿主机端口:容器端口
-p 宿主机端口:容器端口
-p 容器端口
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷
- 进入正在运行的容器并以命令行交互
docker exec -it [容器ID/容器名称] /bin/bash
或者
docker attach [容器ID]
例如:
docker exec -it c32f612cc218 /bin/bash
或者
docker attach wizardly_booth
exec 是在容器中打开新的终端,并且可以启动新的进程。用exit退出,不会导致容器的停止。
attach 直接进入容器启动命令的终端,不会启动新的进程。用exit退出,会导致容器的停止。
推荐大家使用 docker exec 命令,因为退出容器终端,不会导致容器的停止。
- 退出交互模式
exit
若需要相关权限需在命令前添加 sudo ,或切换root用户;如下
sudo docker images