1、镜像操作

获取镜像
docker pull NAME[:TAG] #如果不显示指定TAG,默认选择latest标签 查看本地所有镜像
docker images 查看镜像详细信息
docker inspect IMAGE_ID 从Docker Hub查找镜像
docker search TERM

使用已有镜像的容器创建镜像
docker commit [OPTIONS] CONTAINER[REPOSITORY[:TAG]]  #-a,--author=""作者信息 -m,--message=""提交消息 -p,--pause=true提交时暂停容器运行

使用Dockerfile创建镜像
docker build -t NAME[:TAG] DOCKERFILE_PATH # .表示当前目录 -t指定镜像的标签信息 使用本地模板导入
cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04 删除本地一个或多个镜像
docker rmi IMAGE [IMAGE...] #IMAGE为标签或ID -f参数强制删除 保存和加载镜像(将机器a的镜像迁移到机器b上)
# 机器a
docker save IMAGE > /home/save.tar #IMAGE为标签或ID
# 使用scp将save.tar拷到机器b上
scp -P save.tar root@172.33.5.11:/home/
# 机器b
docker load < /home/save.tar 上传镜像
docker push NAME[:TAG]

2、容器操作

查看容器日志
docker logs CONTAINER #CONTAINER为容器名或ID -f跟踪日志输出 查看正在运行的容器
docker ps #-a为查看所有容器 -l最近一次启动的容器 -q显示容器编号

运行一个新容器,同时为它命名、端口映射、文件夹映射
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] #-t分配伪终端并绑定到标准输入上,-i保持准备输入打开,-d守护态运行
docker run --name centos7 -p 8081:8080 -d -v /z/docker/files:/docker/files local/centos
进入容器
docker exec -ti CONTAINER /bin/bash #启动一个伪终端以交互式的方式进入容器 停止、启用、杀死、重启一个容器
docker stop|start|kill|restart CONTAINER 删除容器
docker rm CONTAINER #删除单个容器 -f强制删除
docker rm $(docker ps -a -q) #删除所有容器 导出导入容器
docker export CONTAINER > save.tar
docker import save.tart NAME[:TAG]

3、数据管理

在容器内创建一个数据卷
docker run -d -P --name web -v /webapp training/webapp python app.py #使用training/webapp镜像创建一个Web容器,并创建一个数据卷挂载到容器的/webapp目录 挂载一个主机目录作为数据卷
docker run -d -P --name web -v /src/webapp:/opt/webapp:ro training/webapp python app.py #加载主机的/src/webapp目录到容器的/opt/webapp目录,权限为只读 挂载一个本地主机文件作为数据卷(不推荐,使用文件编辑工具可能会造成文件inode的改变,导致报错误信息)
docker run --rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash 数据卷容器
、docker run -it -v /dbdata --name dbdata ubuntu #创建数据卷容器dbdata,并在其中创建一个数据卷挂载到/dbdata
、docker run -it --volumes-from dbdata --name db1 ubuntu #创建db1容器,并从dbdata容器挂载数据卷 利用数据卷容器迁移数据
docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata #备份dbdata数据卷容器内的数据卷
docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar  #恢复数据到容器

4、网络基础配置

端口映射实现访问容器
docker run -d -P training/weapp python app.py #随机映射一个49000~49900端口到容器内部开放的网络端口
docker run -d -p 5000:5000 -p 3000:80 training/webapp python app.py  #将本地的5000、3000端口分别映射到容器的5000、80端口 容器互联实现容器间通信
docker run -d -P --name web --link db:db training/webapp python app.py  #--link参数的格式为--link name:alias,其中name是要链接的容器名称,alias为这个连接的别名

常用Docker命令的更多相关文章

  1. 安装Docker和下载images镜像和常用Docker命令

    我的是centos7,也会6的方法: $sudo yum install docker 直接yum安装contos7使用centos6.5先获取epel源并 启动Docker,并注册开机服务 [roo ...

  2. Docker 共有 13 个管理命令和 41 个通用命令,以下是常用 Docker 命令列表

    开发人员一直在努力提高 Docker 的使用率和性能,命令也在不停变化.Docker 命令经常被弃用,或被替换为更新且更有效的命令,本文总结了近年来资深专家最常用的命令列表并给出部分使用方法. 目前, ...

  3. 常用docker命令备忘录

    查看镜像 docker images 查看运行中的容器 docker ps 删除镜像 docker rmi 容器id 直接删除所有镜像 docker rmi `docker images -q` 直接 ...

  4. Docker 入门 到部署Web 程序- (阿里面试常用的docker命令和优点)

    最近阿里的面试官问我Docker是做什么用的,我记得之前360和美团,京东的都问过,但是一直没时间看,最近有时间了,系统的学习了一下Docker,在此做一下记录,方便各位看官学习交流 一.Docker ...

  5. docker专题(2):docker常用管理命令(上)

    http://segmentfault.com/a/1190000000751601 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备 ...

  6. Docker 容器安装及常用基础命令

    为什么用docker 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势. Docker 在如下几个方面具有较大的优势: 更快速的交付和部署 Docker在整个开发周期都可以 ...

  7. docker常用管理命令

    本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: 容器生命周期管理 — docke ...

  8. docker搭建环境的时候常用的命令有哪些

    1.docker搭建环境的时候常用的命令有哪些 docker如果要删除镜像,现在停止container docker ps 查询正在运行的镜像docker stop +containerid停止后再删 ...

  9. Docker介绍,安装和常用的命令

    Docker是Google公司推出的Go语言开发的,基于Linux内核的cgroup,namespace,AUFS类的UnionFS等技术.对进程进行封装格力,属于操作系统层面的虚拟化技术.隔离的进程 ...

随机推荐

  1. AntV G6绘制流程图学习例子

    下面代码可以直接贴到html文件中运行看效果. 代码说明 js中data是一个json变量,里面有两个关键对象"nodes.edges",分别来描述节点.节点间箭线. 更多&quo ...

  2. 使用nginx mirror 制作nexus 的简单ha

      主要是运行两台nexus 机器,通过nexus 的host 以及proxy 以及public 模型,结合nginx 的mirror 将对于host 的get 请求 mirror 到另一台机器pro ...

  3. click python cli 开发包

    python click 包是一个方便的cli 开发包,我们可以用来开发强大的cli 应用 使用venv 进行环境准备,示例代码来自官方 venv 环境准备 python3 -m venv demoa ...

  4. vue2-通过axios实现数据请求

    1.通过axios实现数据请求 vue.js默认没有提供ajax功能 所以使用vue的时候,一般都会使用axios的插件来实现ajax与后端服务器的数据交互. 注意,axios本质上就是javascr ...

  5. Java高级特性 第7节 多线程

    一.进程与线程的概念 1. 进程 进程是应用程序的执行实例,有独立的内存空间和系统资源. 如上图,标红色的是一个Office Word进程. 进程的特点: 动态性:进程是动态的创建和消亡: 并发性:操 ...

  6. Day 22 初识面向对象

    一.两种编程思想 1.面向过程编程 核心是'过程',过程指的是解决问题的步骤,就是先干什么再干什么 基于面向过程思想编写程序相当于写一条流水线,是一种机械式的思维方式 优点:解决问题的思路清晰,可以把 ...

  7. Centos6.9部署Gitlab-11.9.8并汉化

    Git 是一种分布式的代码版本管理系统,git在工作时可以不用时刻依赖后台服务器,在本地电脑上就可以管理版本控制,但是在需要协同开发时就必须要使用后台服务器了,目前互联网上有github,码云这样的远 ...

  8. 学习Xen

    先找到两个大佬博客 进行学习 http://www.cnblogs.com/BloodAndBone/archive/2010/11/02/1866907.html https://www.cnblo ...

  9. wx.navigateBack(OBJECT)怎么携带参数呢?

    wx.navigateBack(OBJECT) 关闭当前页面,返回上一页面或多级页面.可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层. OBJECT 参数说明: 参数 ...

  10. sql 查询语句的练习2

    --14.列出所有雇员的雇员名称.部门名称和薪金. select e.ename,d.dname,e.sal from emp e,dept d where e.deptno = d.deptno;- ...