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)

大家都在看

  • docker网络模型

    [root@iZuf620p8rsr3faul3zsx6Z ~]# docker network –help Usage: docker network COMMAND Mana…

    Linux 2023年6月13日
    0126
  • Linux——基础命令用法(上)

    一、Linux基础命令 1、Linux命令的语法 一条完整的Linux命令的组成部分: 命令 选项 参数 命令:是某个具体的功能 选项:是对函数的修改(通常以-开头,-表示选项的短…

    Linux 2023年5月27日
    089
  • 【Example】C++ 虚基类与虚继承 (菱形继承问题)

    C++ 是支持多继承的语言, 但是实际项目开发中非必要不要使用多继承以降低代码逻辑的复杂性,当然 C++ 多继承的特性带来一些问题即 菱形继承。 当一个类继承了两个来自同父类的子类…

    Linux 2023年6月13日
    079
  • 实现Django ORM admin view中model字段choices取值自动更新的一种方法

    有两个表,一个是记录网站信息的site表,结构如下: CREATE TABLE site ( id bigint(20) unsigned NOT NULL AUTO_INCREM…

    Linux 2023年6月6日
    0110
  • 一篇文章扒掉“桥梁Handler”的底裤

    Android跨进程要掌握的是Binder, 而同一进程中最重要的应该就是Handler 消息通信机制了。我这么说,大家不知道是否认同,如果认同,还希望能给一个关注哈。 什么是Ha…

    Linux 2023年6月13日
    0100
  • Linux通过ssh命令连接远程服务器

    命令使用语法:1,指定用户:ssh -l root 192.168.0.11或则ssh root@192.168.0.11 2,如果修改过ssh登录端口的可以:ssh -p 123…

    Linux 2023年6月13日
    080
  • zabbix快速安装(yum)

    1、先卸载系统自带数据库 [root@bogon ~]# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 –nodeps 2、安装mys…

    Linux 2023年6月6日
    088
  • ASP已老,尚能饭否?

    我对ASP的感情,跟大海一样深。我用它实现了第一个动态网页,也用它做了毕业设计,毕业设计的名字是《毕业设计管理系统》(是不是有点绕)。在 PHP 和 ASP.NET、Java 高歌…

    Linux 2023年6月6日
    0111
  • 小文件、nginx、Redis、Moosefs

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

    Linux 2023年5月28日
    0116
  • 什么是守护进程?

    在了解守护进程之前,需要先知道什么是什么是终端?什么是作业?什么是进程组?什么是会话? 在 Linux 中, 每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都…

    Linux 2023年6月8日
    0120
  • 回溯法:算法思路以及相关流程图的绘制

    参考建模原文2020国赛B题参考文章1 回溯法介绍 深度优先搜索(缩写DFS):对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标…

    Linux 2023年6月14日
    093
  • Mysql Date操作

    根据format字符串格式化date值。 下列修饰符可以被用在format字符串中: %W 星期名字(Sunday……Saturday) %D 有英语前缀的月份的日期(1s…

    Linux 2023年6月7日
    072
  • Jenkins发布SpringBoot项目

    第二步:Configure System (系统设置) 我们只需要设置最后面的一项,配置远程服务SSH: 配置完成后点击保存即可,为后面我们配置自动化部署做准备,配置如下图: 第三…

    Linux 2023年6月14日
    0107
  • Python 之Memcache中间件

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载,它通过在内存中缓存数据和减少读取数据库的次数,从而提高动态数据库驱动网站的速度。Mem…

    Linux 2023年6月14日
    0113
  • LDD3第三章学习笔记

    思维导图 需求 实现一个设备/dev/scull,这个设备能用dd, cp, cat和Shell的IO重定向功能操作。 设备号 Linux用主次两个设备号去唯一的表示一个设备。其中…

    Linux 2023年6月7日
    0105
  • Python环境安装

    一、下载地址: Python:Download Python | Python.org PyCharm:Download PyCharm: Python IDE for Profe…

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