前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 常用命令整合!!!带你一起理解和复习每个操作命令!!!带操作图,不会也能看懂的!!

Docker 常用命令整合!!!带你一起理解和复习每个操作命令!!!带操作图,不会也能看懂的!!

作者头像
宁在春
发布2022-10-31 14:47:29
5180
发布2022-10-31 14:47:29
举报
文章被收录于专栏:关于Java学习@宁在春

本文整理出在Docker中常用的命令,一是可以做一个备忘录的作用,二是也可以作为一个复习的文章。 Docker镜像、容器、日志等等相关命令都涵盖在内,文内带有操作图,不难的哦。 很喜欢一句话:“八小时内谋生活,八小时外谋发展。共勉

在这里插入图片描述
在这里插入图片描述

地点:湖南邵阳 作者:博主

一、Docker 相关命令

查看Docker 版本号

代码语言:javascript
复制
docker --version
在这里插入图片描述
在这里插入图片描述

查看Docker 相关信息

代码语言:javascript
复制
docker info
在这里插入图片描述
在这里插入图片描述

查看Docker帮助命令

代码语言:javascript
复制
docker --help

可以查看到所有Docker 命令,不过对英语不太好的同学不太友善哈。🙃~~(我也是)~~

在这里插入图片描述
在这里插入图片描述

二、Docker镜像相关命令

2.1、镜像查看

列出本地镜像

1、查看全部镜像

代码语言:javascript
复制
docker images
在这里插入图片描述
在这里插入图片描述

2、查看全部镜像含中间映像层

代码语言:javascript
复制
docker images -a
在这里插入图片描述
在这里插入图片描述

3、其他

代码语言:javascript
复制
docker images -q #仅显示镜像id
docker history -H imageserver #显示指定镜像的历史创建;参数:-H 镜像大小和日期 imageserver 我自己做的一个镜像
在这里插入图片描述
在这里插入图片描述

2.2、镜像搜索

搜索MySQL的镜像

代码语言:javascript
复制
docker search mysql 
#带上版本号搜索 docker search mysql:5.7 
#docker search <镜像名>:<版本号>

-**-filter=stars:**只显示 starts>=600 的镜像

代码语言:javascript
复制
docker search --filter=stars=600 mysql

–automated :只列出 AUTOMATED=OK 的镜像

代码语言:javascript
复制
docker search  --automated mysql
在这里插入图片描述
在这里插入图片描述

2.3、镜像下载

下载最新官方镜像(此处以下载redis 做例子)

代码语言:javascript
复制
docker pull redis #不指定版本号时,默认拉取最新版本 即latest 
docker pull redis:5.0.7# 指定版本号 即加一个引号 后说明版本号即可。

下载仓库所有Redis镜像

代码语言:javascript
复制
docker pull -a redis

下载网上公开的仓库镜像

代码语言:javascript
复制
docker pull bitnami/redis #即别人制作的公开放到网上的镜像
在这里插入图片描述
在这里插入图片描述

2.4、镜像删除

删除单个镜像

注意:(不强制删除,必须先删除此镜像相关的容器,才能删除此镜像)

代码语言:javascript
复制
##相当于:docker rmi redis:latest
docker rmi redis

强制删除(即有运行的容器,也强行删除,但并不会删除正在运行的容器[已亲测])

代码语言:javascript
复制
##强制删除(针对基于镜像有运行的容器进程)
docker rmi -f redis

批量删除(不同镜像之间用空格间隔)

代码语言:javascript
复制
docker rmi -f redis mysql nginx

删除本地全部镜像

代码语言:javascript
复制
docker rmi -f $(docker images -q) #$() 可以简单理解为sql 语句中嵌套语句
在这里插入图片描述
在这里插入图片描述

2.5、镜像构建

此处只做一个最简单的例子,一句两句说不清。牵扯Dockerfile文件书写。

(1) 编写我们的Dockerfile文件

代码语言:javascript
复制
from centos:latest

ENV mypath /usr
WORKDIR $mypath

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD /bin/bash

(2) 构建镜像

代码语言:javascript
复制
docker build -f /myDocker/Dockerfile2 -t mycentos:1.3 
代码语言:javascript
复制
#如果 dockerfile文件在当前目录 命令可简写为
docker build -t mycentos:1.3 .

解释:

1、docker build 为docker中镜像构建命令

2、-f :指明dockerfile文件的路径

3、-t :指定镜像生成名字 版本号为可选。

4、. 最后的小数点意思是在当前目录下, 即Dockerfile所在目录

三、Docker 容器相关命令

3.1、查看容器

1、查看正在运行的容器

代码语言:javascript
复制
docker ps

2、查看正在运行的容器的ID

代码语言:javascript
复制
 docker ps -q

3、查看正在运行+历史运行过的容器

代码语言:javascript
复制
docker ps -a
在这里插入图片描述
在这里插入图片描述

4、获取正在运行的容器redis的 IP

代码语言:javascript
复制
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis
在这里插入图片描述
在这里插入图片描述

5、查看容器元信息(此处以redis举例)

代码语言:javascript
复制
docker inspect myredis #myredis 是我的redis 容器名
在这里插入图片描述
在这里插入图片描述

在启动集群的时候比较有效,单机的话就~~。

3.2、启动容器

启动暂停的容器

代码语言:javascript
复制
docker start <容器名||容器id>

重启容器

代码语言:javascript
复制
docker restart redis  #<容器名||容器id>

此处以启动redis容器举例

代码语言:javascript
复制
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf -v /home/redis/myredis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 000415
  1. –restart=always 总是开机启动
  2. –log是日志方面的
  3. -p 6379:6379 将6379端口挂载出去
在这里插入图片描述
在这里插入图片描述
  1. –name:给这个容器取一个名字
  2. -v 数据卷挂载
    • /home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
    • /home/redis/myredis/data:/data 这个同上
  3. -d redis 表示后台启动redis
  4. redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
  5. –appendonly yes 开启redis 持久化
  6. –requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置,我被搞过,可以看这篇文章“阿里云服务器中毒‘Kirito666’经历”)
  7. 成功界面
在这里插入图片描述
在这里插入图片描述

3.3、容器进程

代码语言:javascript
复制
##top支持 ps 命令参数,格式:
docker top [OPTIONS] CONTAINER [ps OPTIONS] 
##列出redis容器中运行进程 
docker top redis ##查看所有运行容器的进程信息 
在这里插入图片描述
在这里插入图片描述

3.4、容器的停止和删除

停止一个运行中的容器

代码语言:javascript
复制
docker stop myredis #stop 后 跟容器名或容器id 都可以

杀掉一个运行中的容器

代码语言:javascript
复制
docker kill myredis #同上
在这里插入图片描述
在这里插入图片描述

删除一个已停止的容器

代码语言:javascript
复制
docker rm myreis #同上

删除一个运行时的容器

代码语言:javascript
复制
docker rm -f myredis #同上
在这里插入图片描述
在这里插入图片描述

删除全部容器

代码语言:javascript
复制
docker rm -f $(docker ps -a -q) #$() 你可以理解sql 语句中的嵌套语句

四、Docker 查看运行日志

基本格式:docker logs [OPTIONS] CONTAINER

OPTIONS:可带参数 见下图。

在这里插入图片描述
在这里插入图片描述
  • –details 显示更多的信息
  • -f, --follow 跟踪实时日志
  • –since string 显示自某个timestamp之后的日志,或相对时间,如30m(即30分钟)
  • –tail string 从日志末尾显示多少行日志, 默认是all
  • -t, --timestamps 显示时间戳
  • –until string 显示自某个timestamp之前的日志,或相对时间,如30m(即30分钟)

举例:

4.1、查看此容器全部运行日志:

代码语言:javascript
复制
docker logs  <容器id>

4.2、查看日志,只显示最后200行

代码语言:javascript
复制
docker logs --tail 200 CONTAINER_ID

4.3、查看最近30分钟的日志

代码语言:javascript
复制
docker logs --since 30m CONTAINER_ID

4.4、查看某时间之后的日志

代码语言:javascript
复制
dockere logs -t --since "2021-07-31T10:35:10" d0e #d0e是我的容器id 

4.5、查看某时间段之间的日志

代码语言:javascript
复制
docker logs -t --since "2021-07-31T10:35:10" --until "2021-07-31T10:36:10" CONTAINER_ID
在这里插入图片描述
在这里插入图片描述

五、自言自语

又是继续内卷的一天啊,昨天看群聊,里面的大佬凌晨了还在讨论问题,讲真,我有点怕啦。这还邀不要人睡啦啊。☠😇

一起 共勉 or🛌。(我还是觉得🛌更爽啊,唉,不过不能选啊

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Docker 相关命令
  • 二、Docker镜像相关命令
    • 2.1、镜像查看
      • 2.2、镜像搜索
        • 2.3、镜像下载
          • 2.4、镜像删除
            • 2.5、镜像构建
            • 三、Docker 容器相关命令
              • 3.1、查看容器
                • 3.2、启动容器
                  • 3.3、容器进程
                    • 3.4、容器的停止和删除
                    • 四、Docker 查看运行日志
                      • 4.1、查看此容器全部运行日志:
                        • 4.2、查看日志,只显示最后200行
                          • 4.3、查看最近30分钟的日志
                            • 4.4、查看某时间之后的日志
                              • 4.5、查看某时间段之间的日志
                              • 五、自言自语
                              相关产品与服务
                              云数据库 Redis
                              腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档