Docker常用命令

Docker常用命令

删除安装包:

sudo apt-get purge docker-ce

删除镜像、容器、配置文件等内容:

sudo rm -rf /var/lib/docker

清理掉所有处于终止状态的容器

sudo docker container prune

使用 docker port bf08bxxx(容器id) 或 docker port namexxx(容器名称) 来查看容器端口的映射情况

使用 docker logs [ID或者名字] 可以查看容器内部的标准输出。

sudo docker logs -f bf08bxxx

-f:docker logs 像使用 tail -f 一样来输出容器内部的标准输出。\

使用 docker top 来查看容器内部运行的进程

sudo docker top bf08bxxx(或容器名称)

使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。

sudo docker inspect bf08bxxx(或容器名称)

使用 docker stop/start bf08bxxx 停止/启动容器

sudo docker ps -l #查询最后一次创建的容器

使用 docker rm 命令来删除不需要的容器

sudo docker rm wizardly_chandrasekhar

删除容器时,容器必须是停止状态,否则会报错。

使用 docker rmi 命令删除镜像,比如我们删除 ubutun 镜像:

sudo docker rmi ubutun

镜像更新提交

当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。

1、从已经创建的容器中更新镜像,并且提交这个镜像

2、使用 Dockerfile 指令来创建一个新的镜像

更新镜像之前,我们需要使用镜像来创建一个容器。

uos@root:~$ docker run -t -i uos:15.10 /bin/bash
uos@e218ed11ee1:/#

在运行的容器内使用 apt-get update 命令进行更新。

在完成操作之后,输入 exit 命令来退出这个容器。

此时 ID 为 e218ed11ee1 的容器,是按我的需求更改的容器。可以通过命令 docker commit 来提交容器副本。

uos@root:~$ docker commit -m="uos update" -a="zhoubotong" e218ed11ee1 zhoubotong/uos:v2

各个参数说明:

  • -m: 提交的描述信息
  • -a: 指定镜像作者
  • e218ed11ee1: 容器 ID
  • zhoubotong/uos:v2: 指定要创建的目标镜像名

我们可以使用 docker images 命令来查看我们的新镜像 zhoubotong/uos:v2, 这里不再阐述。

镜像构建

使用命令 docker build , 从零开始来创建一个新的镜像。我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。

文件不存在请新建:touch Dockerfile

uos@root:~$ cat Dockerfile  
FROM    centos:6.7 
MAINTAINER      Fisher "zpt@uniontech.com" 
RUN     /bin/echo 'root:123456' |chpasswd 
RUN     useradd uos
RUN     /bin/echo 'uos:123456' |chpasswd 
RUN     /bin/echo -e "LANG="en_US.UTF-8"" >/etc/default/local 
EXPOSE  22 
EXPOSE  80 
CMD     /usr/sbin/sshd -D

每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

第一条FROM,指定使用哪个镜像源

RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。

然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

uos@root:~$ docker build -t uos/centos:6.7 .

参数说明:

  • -t :指定要创建的目标镜像名
  • . :Dockerfile 文件所在目录,也可以指定Dockerfile 的绝对路径

完后可以使用docker images 查看创建的镜像已经在列表中存在。

镜像标签设置

使用 docker tag 命令,为镜像添加一个新的标签。

uos@root:~$ docker tag e218ed11ee1 zhoubotong/centos:dev

docker tag 镜像ID,这里是 e218ed11ee1,用户名称、镜像源名(repository name)和新的标签名(tag)。

使用 docker images 命令可以看到,ID为e218ed11ee1的镜像多了一个标签。

uos@root:~$ docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
zhoubotong/centos       6.7                 e218ed11ee1        1 hours ago         190.6 MB
zhoubotong/centos       dev                 e218ed11ee1        1 hours ago         190.6 MB

上面大致就介绍这么多了。

Original: https://www.cnblogs.com/phpper/p/16584906.html
Author: 周伯通之草堂
Title: Docker常用命令

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578371/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Redis数据类型

    该文章是对Redis官方文档的翻译 字符串(Strings) 字符串是Redis值的最基础的类型。Redis字符串是二进制安全的,这意味着一个Redis字符串可以包含任何种类的数据…

    Linux 2023年5月28日
    088
  • RPA 快手自动上传机器人

    bash;gutter:true;1、打开账号Cookie预存表格2、机器人自动登录账号3、机器人开始按照预设视频位置开始自动上传视频4、机器人开始自动填写视频相关信息内容5、完成…

    Linux 2023年6月7日
    0123
  • Logback 日志框架

    Logback 是由 Log4j 创始人设计的又一个开源日志组件。作为流行的 Log4j 项目的继承者,在 log4j 1.x 停止的地方接手。其架构非常通用,可以在不同的情况下应…

    Linux 2023年6月8日
    0103
  • Linux ARMv7中断向量表搬移(2)【转】

    经历过kernel的汇编阶段,进入C语言start_kernel后对中断向量表的位置进行搬移,搬移函数是early_trap_init。 early_trap_init函数的调用流…

    Linux 2023年6月8日
    0107
  • QT父类信号调用子类槽函数

    故事背景:我定义了一个QT父类,里面有自定义信号和槽函数,我在main函数定义父类指针指向子类对象,此时发信号,子类收不到,开始咱们的探险之路。。。 解决方案:根据加断点发现调用的…

    Linux 2023年6月13日
    083
  • LeetCode-1047. 删除字符串中的所有相邻重复项

    题目来源 题目详情 给出由小写字母组成的字符串 S, 重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项…

    Linux 2023年6月7日
    0128
  • Timeout connecting to [localhost/127.0.0.1:9200]

    空服务启动时(或者压根没引入es相关jar包)报Timeout connecting to [localhost/127.0.0.1:9200]错误时,查看pom.xml中是否引用…

    Linux 2023年6月7日
    0148
  • CentOS7 源码安装Nginx及Nginx基本管理设置

    CentOS7 安装 参考文档 CentOS7最小安装后初始化安装工具 1:yum install net-tools 参考文档 2:源码安装wget 参考文档 或者执行 yum …

    Linux 2023年5月27日
    0122
  • python openpyxl UserWarning: Workbook contains no default style, apply openpyxl‘s default

    告警解释 这是一个告警,这个excel文件没有设置默认的样式。一般这种没有默认样式的excel文档是由java程序生成的,不是像windows系统日常使用中通过右键点击创建的exc…

    Linux 2023年6月8日
    098
  • 基于 vite 创建 vue3 全家桶项目(vite + vue3 + tsx + pinia)

    vite 最近非常火,它是 vue 作者尤大神发布前端构建工具,底层基于 Rollup,无论是启动速度还是热加载速度都非常快。vite 随 vue3 正式版一起发布,刚开始的时候与…

    Linux 2023年6月7日
    0113
  • 类成员变量的初始化

    1-1 类成员变量初始化的分类 类成员变量的初始化可简单分为两类:非静态成员变量的初始化(以下简称”普通初始化”)和静态成员变量的初始化(”静态…

    Linux 2023年6月8日
    0119
  • 关于飞书事件订阅功能的应用

    此项目源码我也是站在巨人的肩膀上进行一个二次应用,感谢这位大神的共享 附上源码链接–Feishu-Event-Subscribe: 【实验】飞书的事件订阅 主要是通讯录…

    Linux 2023年6月14日
    089
  • 尤娜,我去面试了

    前情回顾 从前,有一个简单的通道系统叫尤娜…… 尤娜系统的第一次飞行中换引擎的架构垂直拆分改造 四种常用的微服务架构拆分方式 面试前几天 尤娜系统经过一次拆…

    Linux 2023年6月14日
    0108
  • 常用的分布式锁和redis和zk两种分布式锁的对比

    常用的分布式锁 一、基于数据库实现分布式锁 1. 悲观锁 利用select … where … for update 排他锁 注意: 其他附加功能与实现一基…

    Linux 2023年5月28日
    084
  • 使用Foxit Reader实现批量打印以及一页多版设置技巧

    阅文时长 | 0.36分钟字数统计 | 587.2字符主要内容 | 1、引言&背景 2、批量打印软件 3、Foxit Reader设置一页多版 4、声明与参考资料『使用Fo…

    Linux 2023年6月14日
    0119
  • 用户相关命令

    关机重启命令均需要root权限执行 su username: 切换用户,不带任何参数会进入root;低权限用户切换高权限用户需要输入密码 logout: 只能在shell上使用,不…

    Linux 2023年6月6日
    0138
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球