上一篇文章大家应该了解和搭建了Docker环境,Docker 是一个开源的应用容器引擎。
直通车:
【云原生 • Docker】初识Docker和Docker的坏境搭建(保姆级教学)

作为一名开发或者运维人员,掌握Dcoker的命令是必不可少的。Docker命令可以让我们更好的利用他提高我们的工作效率。

以下是我个人对Docker学习和使用的一步步总结,通过一个个示例来加深各位对Docker相关命令的理解以及记忆

命令分类

  • 1、Docker 操作命令
  • 2、镜像相关命令
    • 2.1 查询镜像
    • 2.2 搜索镜像
    • 2.3 拉取镜像
    • 2.4 删除镜像
    • 2.5 保存和加载镜像
    • 2.6 镜像标签
    • 2.7 运行镜像
  • 3、容器相关命令
    • 3.1 查看容器
    • 3.2 运行容器
    • 3.3 容器的停止、启动和重启
    • 3.4 容器文件拷贝
    • 3.5 查看容器日志
    • 3.6 目录挂载
    • 3.7 更换容器名
    • 3.8 创建镜像
    • 3.9 查看容器 IP 地址
    • 3.10 删除容器
    • 3.11 导入和导出容器
  • 4、运维相关命令
    • 4.1 查看docker工作目录
    • 4.2 查看docker磁盘占用总体情况
    • 4.3查看Docker的磁盘使用具体情况
    • 4.4 删除异常停止的容器
    • 4.5 删除名称或标签为none的镜像

1、Docker 操作命令

启动 Docker

systemctl start docker

停止 Docker

systemctl stop docker

重启 Docker

systemctl restart docker

查看 Docker 状态

systemctl status docker

开机自动启动Dockers

systemctl enable docker

查看 Docker 概要信息

docker info


查看 Docker 版本

docker -v

查看 Docker 帮助文档, 忘记了某些命令便可使用此进行查看与回顾

docker --help

如忘记拉取命令,可以如下使用

docker pull --help

2、镜像相关命令

2.1 查询镜像

这些镜像都存储于 /var/lib/docker 目录下

#查询本地所有镜像
docker images
#查询镜像名为java的镜像列表
docker images java

列别 说明
repository 镜像名称
tag 标签
image id 镜像ID
created 镜像的创建日期
size 镜像的大小

2.2 搜索镜像

搜索镜像

# 搜索镜像
docker search 镜像名
#搜索用户评价大于400的java镜像
docker search -f=stars=400 java


列别 说明
name 仓库名称
description 镜像描述
stars 用户评价,反映该镜像的受欢迎程度
official 是否官方
automated 该镜像是由 Docker Hub 自动构建流程创建的

2.3 拉取镜像

不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本

docker pull 镜像名
docker pull 镜像名:tag
  • 拉取最新版 mysql
docker search mysql

  • 拉取JAVA指定版本号的镜像
docker pull java

出现报错
Using default tag: latest
Error response from daemon: manifest for java:latest not found: manifest unknown: manifest unknown

这里错误的意思是Docker需要我们指定下载镜像的版本号,我们可以去Docker官方镜像搜索

docker pull java:openjdk-7-jre-alpine

2.4 删除镜像

  • 镜像 ID 也可根据镜像名称
docker rmi  镜像ID
  • 删除所有镜像
docker rmi $(docker images -q)
  • 强制删除镜像
docker rmi -f  镜像ID

2.5 保存和加载镜像

#保存镜像
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
#加载镜像
docker load -i 镜像保存文件位置

2.6 镜像标签

镜像做一个标签添加,从而行进区分

docker tag 源镜像名:TAG 想要生成新的镜像名:新的TAG
# 如果省略TAG 则会为镜像默认打上latest TAG
docker tag aaa bbb


2.7 运行镜像

docker run 镜像名
docker run 镜像名:Tag

运行后,出现tomcat 默认占用的8080 端口,说明该镜像已经是启动了 ,但是 咱好像鼠标没有回到咱服务器上了 ,这怎么办呢 ?
使用 Ctrl+C (注:此方式虽然可以退出容器,但此种命令操作方式却是错误的,详细缘由请见下文的容器命令)

3、容器相关命令

3.1 查看容器

#查看运行容器
docker ps
#查看所有容器
docker ps -a
#查看最后一次运行的容器
docker ps -l
#查看停止的容器
docker ps -f status=exited

3.2 运行容器

docker run 镜像名
docker run 镜像名:Tag

-i 运行容器
-t 容器启动后自动进入其命令行
–name 为创建的容器命名
-v 表示目录映射关系,前者为宿主机目录,后者是映射到宿主机上的目录
-d 加了这个参数则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器)
-p 表示端口映射,前者为宿主机端口,后者是容器内的映射端口

常用创建容器的方式为交互式创建容器和守护式创建容器,如下:

#交互式创建容器
docker run -it --name=容器名称 镜像名称:标签 /bin/bash
#守护式创建容器
docker run -di --name=容器名称 镜像名称:标签
#登录守护式容器
docker exec -it 容器名称/ID /bin/bash

从容器内退出到自己服务器中,需注意两个退出命令的区别

#直接退出  未添加 -d(守护式容器) 时 执行此参数 容器会被关闭
exit
#优雅退出 --- 无论是否添加-d 参数 执行此命令容器都不会被关闭
Ctrl + p + q

创建一个tomca容器

docker run -id -p 8080:8080 --name=test17 tomcat1:test
# netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息
netstat -untlp


3.3 容器的停止、启动和重启

#启动容器
docker start容器名称/ID
#停止容器
docker stop 容器名称/ID
#重启容器
docker restart 容器名称/ID
#kill容器
docker kill 容器ID/容器名

3.4 容器文件拷贝

#从容器内 拷出
docker cp 容器ID/名称:容器内路径  容器外路径
#从外部 拷贝文件到容器内
docker cp 容器外路径 容器ID/名称:容器内路径


3.5 查看容器日志

docker logs --tail=要查看末尾多少行 默认all 容器ID

3.6 目录挂载

在创建容器时,我们可以将宿主机的目录与容器内的目录进行映射,这样就可以通过修改宿主机的目录文件从而直接影响容器了。

docker run -di -v 宿主机目录:容器目录 --name=容器名称 镜像名称:标签

-v命令可以多次使用,即一个容器可以同时挂载多个文件,当容器删除时,宿主机文件数据目录仍在,下次启动容器只要将数据目录指向宿主机数据所在位置即可恢复!

3.7 更换容器名

docker rename 容器ID/容器名 新容器名

3.8 创建镜像

docker commit -a="作者" -m="说明" 容器ID/容器名 镜像名:标签

3.9 查看容器 IP 地址

# 查看容器 ip 以及相关的各种数据
docker inspect 容器名称/ID
# 查看容器 ip 地址并输出
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称/ID

3.10 删除容器

 #删除一个容器
docker rm -f 容器名/容器ID
#删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
#删除全部容器
docker rm -f $(docker ps -aq)

3.11 导入和导出容器

#导出容器
docker export 容器ID > XXX.tar
#import 从tar包中的内容创建一个新的文件系统再导入为镜像
cat XXX.tar | docker import  - 镜像名:标签

4、运维相关命令

4.1 查看docker工作目录

docker info | grep "Docker Root Dir"

4.2 查看docker磁盘占用总体情况

du -hs /var/lib/docker/

4.3查看Docker的磁盘使用具体情况

docker system df

删除 无用的容器和 镜像

4.4 删除异常停止的容器

docker rm `docker ps -a | grep Exited | awk '{print $1}'`

4.5 删除名称或标签为none的镜像

docker rmi -f  `docker images | grep '<none>' | awk '{print $3}'`

如果看到了这里,docker基本上入门了;但前路还长,让我们再继续深入,记得点个关注哟!

【云原生 • Docker】Docker常用命令总结(值得收藏)相关推荐

  1. 【云原生之Docker实战】使用Docker部署MrDoc个人在线文档系统

    [云原生之Docker实战]使用Docker部署MrDoc个人在线文档系统 一.MrDoc介绍 1.MrDoc简介 2.MrDoc特点 二.检查docker状态 1.检查docker版本 2.检查do ...

  2. 【云原生之Docker实战】使用docker部署Memos碎片化知识管理工具

    [云原生之Docker实战]使用docker部署Memos碎片化知识管理工具 一.Memos介绍 1.Memos简介 2.Memos特点 二.检查本地docker状态 1.检查docker配置信息 2 ...

  3. 【云原生之Docker实战】使用Docker部署Cloudreve公有云文件系统

    [云原生之Docker实战]使用Docker部署Cloudreve公有云文件系统 一.Cloudreve介绍 1.Cloudreve简介 2.Cloudreve特点 二.检查本地docker环境 1. ...

  4. 【云原生之Docker实战】使用Docker部署Alist网盘直链程序

    [云原生之Docker实战]使用Docker部署Alist网盘直链程序 一.Alist介绍 1.Alist简介 2.Alist支持的网盘 3.Alist特点 二.检查宿主机系统版本 三.检查本地doc ...

  5. 【云原生之Docker实战】使用Docker部署Kavita 个人漫画服务器

    [云原生之Docker实战]使用Docker部署Kavita 个人漫画服务器 一.Kavita介绍 1.Kavita简介 2.Kavita特点 3.Kavita功能 二.检查本地Docker状态 1. ...

  6. 【云原生之Docker实战】使用Docker部署Ubooquity个人漫画服务器

    [云原生之Docker实战]使用Docker部署Ubooquity个人漫画服务器 一.Ubooquity介绍 1.Ubooquity简介 2.Ubooquity支持的架构 二.检查本地Docker环境 ...

  7. Docker客户端常用命令整理

    之前在 https://blog.csdn.net/fengbingchun/article/details/109584460 中介绍过在Windows10家庭版和Ubuntu16.04上安装Doc ...

  8. Docker初学3:Docker的常用命令

    Docker的常用命令 帮助命令 帮助命令可以在我们遇到不懂的命令时帮助我们去了解它们怎么使用. docker version # 显示 Docker 版本信息. docker info # 显示 D ...

  9. Docker 精通之常用命令

    Docker 精通系列 Docker 精通之入门 Docker 精通之微服务 Docker 精通之常用命令 Docker 精通之 Dockerfile 配置文件路径 /etc/sysconfig/do ...

最新文章

  1. jsPlumb(3)-基本概念
  2. 矩阵分析与多元统计 线性空间与线性变换2
  3. 实战系列-使用Mybatis-Plus生成器生成代码
  4. Redis底部的几种存储结构(sds、dict、ziplist、intset、skiplist)
  5. 2接口详解_冯博琴微型计算机原理与接口技术第3版答案资料配套题库名校考研真题课后习题章节题库模拟试题...
  6. 教你如何使用automake生成Makefile文件
  7. 【VRP】基于matlab节约里程算法求解车辆路径规划问题【含Matlab源码 1166期】
  8. 签到系统、评价系统、后台审核系统前后端接口实现总结
  9. 文章刚刚开源就被培训机构“BP”了,过于不要脸
  10. php json输出后 u6563,肉肉's Blog
  11. c语言求最长单调子序列,设计一个O(n2)时间算法,找出由n个数组成的序列的最长单调递增子序列...
  12. 【哲理】你的上限是什么?如何打破上限?-莫安迪
  13. HyperLynx(三十一)高速串行总线仿真(三)
  14. Slf4j之MDC机制
  15. 基于CentOs的docker的安装和简单使用
  16. 设计模式之禅-二《上卷》
  17. 2016鄂教版小学信息技术初识计算机软件,鄂教版小学信息技术教案第6册
  18. docker-compose 启动 Redis 服务
  19. 忽然厌倦了学画画怎么办
  20. 桌面壁纸被计算机管理员禁用,更改桌面背景时显示已经被系统管理员禁用,这种情况要怎么处理...

热门文章

  1. 蓝牙Profile的概念和常见种类
  2. 为上次渲染的三角形添加颜色
  3. Leetcode-数据结构-88. 合并两个有序数组
  4. SpringBoot - Lombok使用详解1(基本介绍、安装配置、var和val)
  5. 解决https JDK导入安全证书
  6. Excel简单函数运用
  7. AI智能安防视频融合云平台EasyCVR分屏播放不能正常使用是什么原因?
  8. Http Live Streaming介绍和应用
  9. 读王蒙的《庄子的快活》
  10. windows/linux 系统U盘制作系统盘(实战,简单)