Docker安装

Docker镜像管理

https://hub.docker.com/ 是公共的一个Docker镜像仓库,类似GitHub一样,上面有非常多的开源项目镜像。

可以直接在命令行搜索镜像

  1. [root@dns-server ~]# docker search centos
  2. NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  3. centos The official build of CentOS. [OK]
  4. ansible/centos7-ansible Ansible on Centos7 [OK]
  5. jdeathe/centos-ssh CentOS- 6.10 x86_64 / CentOS- 7.5. x86 [OK]
  6. consol/centos-xfce-vnc Centos container with "headless" VNC session [OK]
  7. imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 [OK]
  1. NAME 镜像名称 DESCRIPTION 镜像说明 STARS 点赞数量 OFFICIAL 是否是官方的 AUTOMATED 是否是自动构建的
  2.  

获取镜像,默认tag是最新的  centos:latest

  1. [root@dns-server ~]# docker pull centos
  2. Using default tag: latest
  3. latest: Pulling from library/centos
  4. Digest: sha256:67dad89757a55bfdfabec8abd0e22f8c7c12a1856514726470228063ed86593b
  5. Status: Image is up to date for centos:latest

查看当前主机镜像列表

  1. [root@dns-server ~]# docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. centos latest 75835a67d134 weeks ago 200MB

可以看到一个 CentOS镜像 才 200MB , 详细介绍  参考链接:https://blog.csdn.net/CloudMan6/article/details/71105101

导出镜像,默认tag是latest

  1. [root@dns-server ~]# docker save -o centos.tar centos:latest
  2. [root@dns-server ~]# ls
  3. centos.tar

导入镜像

  1. [root@dns-server ~]# docker load -i centos.tar
  2. Loaded image: centos:latest
  3. 或者
  4. [root@dns-server ~]# docker load < centos.tar
  5. Loaded image: centos:latest

删除镜像,镜像创建成容器时,是不能删除的。

  1. [root@dns-server ~]# docker rmi centos
  2. Untagged: centos:latest
  3. Untagged: centos@sha256:67dad89757a55bfdfabec8abd0e22f8c7c12a1856514726470228063ed86593b

查看镜像详细信息

  1. [root@dns-server ~]# docker image inspect system/centos

Docker容器管理

运行容器

docker run 是启动容器的方法,启动时会在本地检测是否有镜像,没有会从公共仓库拉取。

  1. [root@server2 ~]# docker run centos /bin/echo "Hello world"
  2. Unable to find image 'centos:latest' locally
  3. latest: Pulling from library/centos
  4. aeb7866da422: Already exists
  5. Digest: sha256:67dad89757a55bfdfabec8abd0e22f8c7c12a1856514726470228063ed86593b
  6. Status: Downloaded newer image for centos:latest
  7. Hello world

容器的生命周期依赖于启动时执行的命令,只要该命令不结束,容器也就不会退出。上面的命令是 /bin/echo "Hello world" ,执行完容器就会退出。

docker run常用参数

--name  指定容器名称

-i  进入容器

-t  分配一个伪终端tty

-p  指定端口映射

-P  随机端口映射

docker run --help  查看帮助

  1. 查看容器
    docker ps 查看运行中的容器 -a 查看所有容器。
  1. [root@server2 ~]# docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

  3. [root@server2 ~]# docker ps -a
  4. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  5. 8a6f19d985fd centos "/bin/echo 'Hello wo…" minutes ago Exited () minutes ago confident_hermann
  6. 5373272349bf centos "/bin/echo 'Hello wo…" minutes ago Exited () minutes ago jolly_wozniak
  7. 0560af19b61f wordpress "docker-entrypoint.s…" days ago Exited () days ago some-wordpress
  8. 89e2964c1e14 mysql:latest "docker-entrypoint.s…" days ago Exited () hours ago some-mysql

查看容器详细信息

  1. [root@dns-server ~]# docker container inspect myredis

停止容器

  1. [root@dns-server ~]# docker stop 容器名称或ID

删除容器

[root@dns-server ~]# docker rm 容器名称/ID
-f 强制删除

##删除所有容器
[root@dns-server ~]# docker rm $(docker ps -a -q)

在docker run 创建时加上--rm参数,容器退出后自动删除。

进入容器

  1. docker attach 容器名称/ID
  1. nsenter 进入容器
  1. #!/bin/bash
  2.  
  3. # Use nsenter to access docker
  4.  
  5. basedir=`cd $(dirname $); pwd -P`/$
  6. if [ $# -ne ];then
  7. echo "Usage: $basedir {CONTAINER ID | CONTAINER NAMES}" && exit
  8. fi
  9.  
  10. docker_in(){
  11. NAME_ID=$
  12. PID=$(docker inspect -f "{{ .State.Pid }}" $NAME_ID)
  13. nsenter -t $PID -m -u -i -n -p
  14. }
  15.  
  16. docker_in $

exec进入容器

  1. #!/bin/bash
  2. name=$
  3. basedir=`cd $(dirname $); pwd -P`/$
  4. if [ $# -eq ];then
  5. docker exec -it $name /bin/bash
  6. else
  7. echo "Usage: $basedir {CONTAINER ID | CONTAINER NAMES}" && exit
  8. fi

Docker官方网站:https://www.docker.com/

Docker镜像和容器管理(二)的更多相关文章

  1. Docker 镜像与容器管理

    镜像与容器简介 Docker的大部分操作都围绕着它的三大核心概念:镜像.容器.仓库而展开.因此,准确把握这三大核心概念对于掌握Docker技术尤为重要,在docker中,我们重点关注的就是镜像和容器了 ...

  2. Docker学习笔记四:Docker镜像、容器管理工具shipyard

    一.拉取以下几种镜像: docker pull alpineshipyard/shipyarddocker pull swarm docker pull shipyard/shipyarddocker ...

  3. 【docker专栏8】使用IDEA远程管理docker镜像及容器服务

    使用命令行的方式管理服务器镜像及容器是运维人员最常用的方式,但是有的时候我们不得不远程操作docker或者是面向对docker并不熟悉的技术人员提供能力(配置管理员.测试人员),这种情况下图形界面就有 ...

  4. Docker镜像和容器

    本节内容: 安装Docker 卸载docker 镜像基本操作 容器基本操作 一.安装Docker Docker 对 Linux 内核版本的最低要求是3.10,如果内核版本低于 3.10 会缺少一些运行 ...

  5. docker镜像、容器

    第一部分:Docker镜像的基本知识 1.1 什么是Docker镜像 从整体的角度来讲,一个完整的Docker镜像可以支撑一个Docker容器的运行,在 Docker容器运行过程中主要提供文件系统视角 ...

  6. Docker背后的容器管理——Libcontainer深度解析

    Libcontainer 是Docker中用于容器管理的包,它基于Go语言实现,通过管理namespaces.cgroups.capabilities以及文件系统来进行容器控制.你可以使用Libcon ...

  7. docker系列四之docker镜像与容器的常用命令

    docker镜像与容器的常用命令 一.概述   docker的镜像于容器是docker中两个至关重要的概念,首先给各位读者解释一下笔者对于这两个概念的理解.镜像,我们从字面意思上看,镜子里成像,我们人 ...

  8. Docker容器化【Docker镜像与容器相关命令】

    # Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...

  9. docker 入门(docker 镜像 、容器、仓库)

    一.关于docker 镜像 .容器.仓库之间的关系 镜像(Image): 类似于虚拟机 的镜像 容器(Container): 类似于操作系统(或者说是独立的软件), 由镜像可以创建大量的容器. 仓库( ...

随机推荐

  1. Hadoop MapReduce编程入门案例

    Hadoop入门例程简介 一个.有些指令 (1)Hadoop新与旧API差异 新API倾向于使用虚拟课堂(象类),而不是接口.由于这更easy扩展. 比如,能够无需改动类的实现而在虚类中加入一个方法( ...

  2. WPF 悬浮键盘

    原文:WPF 悬浮键盘 public class TouchScreenKeyboard : Window { #region Property & Variable & Constr ...

  3. WPF特效-拼图游戏

    原文:WPF特效-拼图游戏 此文主要描述我实现碎片化的便捷过程. 步骤1:    选取参考图如下(百度图库搜的): 步骤2:    根据效果图或者模型构建贝塞尔曲线,为了方便查看效果,可以设置控制点, ...

  4. Stream转Byte数组

    //获得当前文件目录 string rootPath = Directory.GetCurrentDirectory(); string path = rootPath + "Your Fi ...

  5. WMWaire使用FreeNAS硬盘挂载、Raid0

    FreeNAS硬盘挂载.Raid0 发表于2012 年 03 月 28 日由admin 创建成功,FreeBSD的Hardware显示状态 今天,我们将在VMware工具的帮助下,学习“FreeNAS ...

  6. Marker

    # 样例 <?xml version="1.0" encoding="UTF-8"?> <Configuration status=" ...

  7. 图像滤镜艺术---(Punch Filter)交叉冲印滤镜

    原文:图像滤镜艺术---(Punch Filter)交叉冲印滤镜 (Punch Filter)交叉冲印滤镜 本文介绍一种交叉冲印效果的代码实现,至于原理,不在累赘,直接看代码:  int f_TPun ...

  8. WPF WindowChrome 自定义窗口

    1.wpf自定义窗口: WindowChrome类描述:https://msdn.microsoft.com/zh-cn/library/system.windows.shell.windowchro ...

  9. C#高性能大容量SOCKET并发(十):SocketAsyncEventArgs线程模型

    原文:C#高性能大容量SOCKET并发(十):SocketAsyncEventArgs线程模型 线程模型 SocketAsyncEventArgs编程模式不支持设置同时工作线程个数,使用的NET的IO ...

  10. 【产品】张小龙《微信背后的产品观》之PPT完整文字版

    张小龙<微信背后的产品观>之PPT完整文字版 附:PPT下载地址:https://wenku.baidu.com/view/99d2910290c69ec3d5bb7573.html  微 ...