本文介绍Docker基本的操作命令,包括对镜像容器的获取,查看,保存,启停等操作。

1.

检查docker的版本:

docker version

docker -v

2.

搜索名字叫做tutorial的镜像:

docker search tutorial

3.

下载tutorial镜像:

docker pull learn/tutorial

4.

在docker容器中运行hello world:

docker run learn/tutorial echo "hello word"

在learn/tutorial镜像里面安装ping程序:

docker run learn/tutorial apt-get install -y ping

在新的镜像中运行ping www.google.com命令

docker run lean/ping ping www.google.com

5.

查看所有正在运行中的容器列表:

docker ps -a

获得上一个执行完命令之后容器的id:

docker ps -l

列出镜像的基本信息

docker images

docker images [NAME]/[CONTAINER ID]

查看容器的详细信息

docker inspect efe

6.

使用指定镜像ubuntu:16.04来启动一个容器:

docker run -t -i ubuntu:16.04 /bin/bash

如果不指定具体的标记,则默认使用latest标记信息。

交互模式运行:

docker run -it chug/ubuntu14.04x64 /bin/bash

-it表示运行在交互模式,i表示打开并保持stdout,t表示分配一个终端(pseudo-tty)。

一般这个模式就是可以启动bash,然后和容器有命令行的交互。

后台启动一个容器:

docker run -d mysql

如果想进入到后台运行的容器,首先获取其id,使用attach命令进入:

docker attach aa97ba3292ce

使用rm在退出容器时删除容器,不然docker中临时容器会越来越多:

docker run --rm -it chug/ubuntu14.04x64 /bin/bash

如果使用exit,命令退出,则容器的状态处于停止状态,而不是后台运行。

如果想让容器一直后台运行,而不是停止,可以使用快捷键 ctrl+p ctrl+q 退出,此时容器的状态为Up。

启动、停止、重启容器aa97ba3292ce的命令:

docker start aa97ba3292ce

docker stop aa97ba3292ce

docker restart aa97ba3292ce

7.

保存镜像,需要在退出镜像前记住容器的id:

root@aa97ba3292ce

或者获得上一个执行完命令之后容器的id:

docker ps -l

然后保存镜像如下,提交作者,描述,需要保存的镜像id,保存的镜像名称:

docker commit -a "yuwen 10208438" -m "ranger admin install with mysql5.5 v1" ba9ca696127d org.apache.ranger/mysql:v1

查看所有的镜像,查看保存结果

docker images | grep mysql

使用tag命令添加镜像标签,为了方便在后续工作中使用特定的镜像:

docker tag docker.io/hello-world:latest hello-world:mytag

保存镜像到文件,将org.apache.ranger/mysql:v1保存为mysql5.5v1.tar:

docker save -o mysql5.5v1.tar org.apache.ranger/mysql:v1

加载本地镜像:

docker load -i mysql5.5v1.tar

8.

删除容器或者镜像,注意:删除镜像前必须先删除以此镜像为基础的容器:

docker rm container_id

使用ID删除:

docker rmi image_id

使用标签删除(如果存在别名,只会删除该别名)

docker rmi TAG

强制删除:

docker rmi -f centos-test:vim

9.

递归地输出指定镜像的历史镜像

docker history <image-id>

不截断输出结果:

docker history --no-trunc <image-id>

Docker基本命令入门的更多相关文章

  1. 15个Docker基本命令及用法

    Docker入门教程:15个Docker基本命令及用法   本文中,我们将学习15个Docker命令以及命令的用法和功能,并通过实践学习它是如何工作的. AD:51CTO 网+ 第十二期沙龙:大话数据 ...

  2. 赞一个 kindle电子书有最新的计算机图书可买了【Docker技术入门与实战】

    最近对docker这个比较感兴趣,找一个比较完整的书籍看看,在z.cn上找到了电子书,jd dangdang看来要加油啊 Docker技术入门与实战 [Kindle电子书] ~ 杨保华 戴王剑 曹亚仑 ...

  3. docker-9 supervisord 参考docker从入门到实战

    参考docker从入门到实战 使用 Supervisor 来管理进程 Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务.但我们经常需要在一个机 ...

  4. Docker 简单入门

    Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737

  5. Docker快速入门

    Docker已经火了很长一段时间,最近打算在阿里云上好好熟悉一下Docker的相关应用,为今后的工作做准备. 基本概念 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是do ...

  6. Docker安装入门 -- 应用镜像

    Docker安装入门 -- 应用镜像 WordPress  1.docker build -t csphere/wordpress:4.2 .  2.docker run -d -p 80:80 -- ...

  7. Docker安装入门 -- 中间件镜像

    Docker安装入门 -- 中间件镜像 php-fpm 1.docker build -t csphere/php-fpm:5.4 .   //在当前目录下创建镜像 2.docker run -d - ...

  8. Docker新手入门:基本用法

    Docker新手入门:基本用法 1.Docker简介 1.1 第一本Docker书 工作中不断碰到Docker,今天终于算是正式开始学习了.在挑选系统学习Docker以及虚拟化技术的书籍时还碰到了不少 ...

  9. Docker快速入门(二)

    上篇文章<Docker快速入门(一)>介绍了docker的基本概念和image的相关操作,本篇将进一步介绍image,容器和Dockerfile. 1 image文件 (1)Docker ...

随机推荐

  1. When should we write our own assignment operator in C++?

    The answer is same as Copy Constructor. If a class doesn't contain pointers, then there is no need t ...

  2. 【Spring Framework】Spring入门教程(六)Spring AOP使用

    Spring的AOP 动态代理模式的缺陷是: 实现类必须要实现接口 -JDK动态代理 无法通过规则制定拦截无需功能增强的方法. Spring-AOP主要弥补了第二个不足,通过规则设置来拦截方法,并对方 ...

  3. 小飞机可以解决git clone没有返回的问题吗?

    [1]Linux如何使用小飞机? 以ss为例,先下载客户端: https://www.mediafire.com/folder/xag0zy318a5tt/Linux 下载客户端以后,右键把权限中&q ...

  4. 【C/C++】最长不下降子序列/动态规划

    #include <iostream> #include <vector> using namespace std; int main() { //输入 int tmp; ve ...

  5. 云原生时代之Kubernetes容器编排初步探索及部署、使用实战-v1.22

    概述 **本人博客网站 **IT小神 www.itxiaoshen.com Kubernetes官网地址 https://kubernetes.io Kubernetes GitHub源码地址 htt ...

  6. 如何用CodeBlocks调试?

    一.简介 这篇文章我主要会介绍CodeBlocks的调试功能,并简单讲述如何使用它. 二.前言 大家好,最近和小伙伴们讨论修改程序的时候,我突然想到,授人以鱼不如授人以渔(指调试),于是这篇文章应运而 ...

  7. DevOps到底是什么意思?

    目录 一.方法论 二.DevOps的起源 三.DevOps到底是什么 四.DevOps的发展现状 五.DevOps与虚拟化.容器.微服务 一.方法论 提到DevOps这个词,我相信很多人一定不会陌生. ...

  8. 带你尝鲜LiteOS 组件EasyFlash

    摘要:EasyFlash是一个开源的轻量级嵌入式闪存库. 本文分享自华为云社区<LiteOS组件尝鲜-玩转EasyFlash>,作者:Lionlace . 基本介绍 EasyFlash是一 ...

  9. java 输入输出IO流 IO异常处理try(IO流定义){IO流使用}catch(异常){处理异常}finally{死了都要干}

    IO异常处理 之前我们写代码的时候都是直接抛出异常,但是我们试想一下,如果我们打开了一个流,在关闭之前程序抛出了异常,那我们还怎么关闭呢?这个时候我们就要用到异常处理了. try-with-resou ...

  10. JAVA类初始化和实例初始化

    一.类初始化过程 1.一个类要创建实例需要先创建和加载 (1) main方法所在的类需要先加载和实例化 2.一个子类要初始化,需要先初始化父类 3.一个类初始化就是执行<clinit>方法 ...