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)

大家都在看

  • [SSM架构]springboot笔记

    框架基础介绍 框架概念 框架(Framework)是一个半成品软件,将所有的、公共的、重复的功能解决掉,帮助程序快速高效的进行开发,他是可重复的,可拓展的。 常见的框架&#8211…

    Linux 2023年6月13日
    080
  • DEX文件解析–7、类及其类数据解析(完结篇)

    一、前言 前置技能链接:DEX文件解析—1、dex文件头解析DEX文件解析—2、Dex文件checksum(校验和)解析DEX文件解析–3、de…

    Linux 2023年6月8日
    080
  • MySQL — 数据控制语言

    DCL 全称 Data Control Language。数据控制语言,用来创建数据库用户、控制数据库的访问权限。 1、用户管理 select * from user; 只能在指定…

    Linux 2023年6月8日
    089
  • @EnableFeignClients注解源码解析

    转载请注明出处: @EnableFeignClients 注解定义的源码 这个注解通过@Import注解导入一个配置类FeignClientsRegistrar.class ;Fe…

    Linux 2023年6月14日
    087
  • JuiceFS v1.0 正式发布,首个面向生产环境的 LTS 版本

    今天,JuiceFS v1.0 发布了 🎉 经过了 18 个月的持续迭代和大量生产环境的广泛验证,此版本将成为第一个被长期维护的稳定版(LTS)。同时,该版本提供完整的向前兼容,所…

    Linux 2023年6月14日
    088
  • jmeter的一些概念知识

    前言 一、Jmeter的作用 – 1.jmeter进行接口操作 2. jmeter进行性能操作 二、Jmeter的一些概念的理解 – 1.事务 2. TPS…

    Linux 2023年6月14日
    097
  • JAVA实现微信小程序支付退款功能

    JAVA实现微信小程序支付退款功能 本如亲测有效(代码复制直接可以用的),退款的前提是必须有小程序的appid、商户号、商户密匙、和证书、 这个是微信小程序退款的官网大家可以去看看…

    Linux 2023年6月7日
    0207
  • Docker-网络模式

    Docker-网络模式 1.Docker网络模式概述 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Doc…

    Linux 2023年6月13日
    072
  • 数据结构 二叉树

    cpp;gutter:true;</p> <h1>include</h1> <p>using namespace std;</…

    Linux 2023年6月13日
    068
  • CSAPP 之 CacheLab 详解

    前言 本篇博客将会介绍 CSAPP 之 CacheLab 的解题过程,分为 Part A 和 Part B 两个部分,其中 Part A 要求使用代码模拟一个高速缓存存储器,Par…

    Linux 2023年6月7日
    0128
  • Linux at命令详解

    大家好,我是良许。 在生活中,我们有太多的场景需要使用闹钟,比如早上7点起床,下午4点开会,晚上8点购物,等等。 [En] In life, we have too many sc…

    Linux 2023年5月27日
    0100
  • Swagger2 Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerException报错

    报错信息: Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.la…

    Linux 2023年6月14日
    068
  • 华为学习笔记一初识VRP

    VRP简介 VRP是Versatile Routing Platform的简称,是华为公司从低端到高端的全系列路由器、交换机等数据通信产品的通用网络操作系统。华为网络设备功能的配置…

    Linux 2023年6月7日
    0121
  • [Git系列] Git 基本概念

    版本控制系统 版本控制系统是一种帮助软件开发者实现团队合作和历史版本维护的软件,一个版本控制系统应具备以下列出的这几个基本功能: 允许开发者并发工作; 不允许一个开发者覆写另一个开…

    Linux 2023年6月14日
    091
  • Redis处理高并发 加锁

    在程序开发过程中,通常会遇到需要独占式的访问一些资源的情形,比如商品秒杀时扣减库存。这时就需要对资源加锁。实现锁的方式有很多,比如数据库锁、文件锁等等。本文简单介绍PHP中使用re…

    Linux 2023年5月28日
    083
  • 小文件、nginx、Redis、Moosefs

    现在有3KW的数据,单条数据都很小的,如果按key-value来看的话,key就是32位的MD5字符串,value按平均算大概是100字节左右。 现在需要将这些数据做缓存以在高并非…

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