• Docker入门


    Docker简介

    Docker是一种虚拟容器技术,是伴随PaaS(平台即服务)产生的,常用的虚拟化容器技术有两种:全虚拟化和操作系统虚拟化(OS)。VMvare workstation是全虚拟化的实现,而Docker是基于操作系统虚拟化技术的一种。

    Docker与VMvare对比,有显著的优势:

    • 启动速度快。Docker容器的启动操作在秒级就可以完成。
    • 系统消耗资源低。一台Linux机器可以运行上千个Docker容器。
    • 迁移扩展更便捷。Docker比VMvare占更少的磁盘空间,对安装好的Docker容器迁移更便捷,且兼容性好,支持物理机、云平台等几乎任意平台。

    Docker核心概念

    Docker包含四个基本概念:镜像(Image)、容器(Container)、仓库(Repository)、仓库注册中心(Registry)

    Docker镜像是一个模板,可以用来创建Docker容器,容器是从镜像创建的运行实例,它们间的关系类似于Java中的类和对象,Docker通过容器运行应用。

    Registry是存放镜像的地方,Repository是Registry中对镜像进行分类存放的地方。即一个Registry中会有多个Repository,而一个Repository中会存放多个不同tag的Image。

    Registry分为公有和私有两种,Docker默认的Registry是Dokcer Hub,国内公开的Registry有USTC、网易云、AliCloud等,此外用户可搭建私有Registry。

    Docker命令

    Docker安装

    Docker默认操作系统是Ubuntu,此处讲Centos上Docke的安装。

    docker卸载:yum -y remove docker

    docker安装:yum install -y docker

    docker启动:systemctl start docker 或 systemctl start docker.service

    docker重启:systemctl restart docker

    Docker镜像

    列出镜像:docker images

    其中:Repository:镜像所在仓库;Tag:镜像版本;ImageID:镜像ID;Created:镜像创建时间;Size:镜像大小。

    搜索镜像:docker search 镜像名称

    拉取镜像:docker pull 镜像名称:tag 例子:docker pull centos:7

    注意:默认拉取镜像是从dokcer hub拉取,速度慢,可改为从ustc拉取

    在docker宿主机:vi /etc/docker/daemon.json

    添加如下记录后重启docker

    {
    	"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
    }
    

    删除指定镜像:docker rmi repository:tag 或 docker rmi imageID

    删除所有镜像:docker rmi $(docker images -q)

    若镜像ImageID一致 ,镜像之间有关联,需按照一定顺序删除

    导出镜像1:docker save repository:tag/imageID > /root/xx.tar.gz`

    导入镜像1:docker load < /root/xx.tar.gz

    导出镜像2:docker save repository:tag/imageID -o /root/xx.tar

    导入镜像2:docker load -i /root/xx.tar

    Docker容器

    创建容器命令:docker run

    参数:

    • -i 表示运行容器
    • -t 表示容器启动后可进入其命令行,即分配了伪终端
    • --name 容器创建名称
    • -v 表示宿主机目录与容器目录的映射
    • -d 会创建守护式进程在后台运行,这种方式创建的容器不会自动登录
    • -p 表示宿主机端口和容器内端口的映射,可用多个-p做映射

    交互式运行容器:

    docker run -i -t --name 容器名称 repository:tag /bin/bash

    docker -it --name 容器名称 imageID /bin/bash

    守护式进程方式运行容器:(推荐使用)

    docker run -di --name 容器名称 repository:tag

    docker run -di --name 容器名称 imageID

    注意:通过run创建并进入容器后,可通过exit退出容器,此时容器停止。再次进入,需start启动容器,再进入容器。

    启动容器:docker start 容器名称/容器ID

    进入容器:

    docker exec -it 容器名称/容器ID /bin/bash (推荐使用)

    docker attach 容器名称/容器ID

    attach进入容器,exit退出,容器停止运行;exec进入容器,exit退出,容器依旧运行。

    查看正在运行容器:docker ps

    查看历史运行过的容器:docker ps -a

    查看醉经运行过的容器:docker ps -l

    停止容器:docker stop 容器名称/容器ID

    删除指定容器:docker rm 容器名称/容器ID

    删除所有容器:docker rm 'docker ps -a -q'

    复制文件:docker cp 源文件 目标文件

    源文件和目标文件既可以为宿主机中的文件,也可为容器中的文件。若为容器中文件格式为:容器名称:路径

    例:docker cp /root/test.war mycentos:/usr/local

  • 相关阅读:
    设置全屏的方法
    The connection to adb is down,and a server error has occured.解决办法---------------------亲测有效
    android 案例二 登录界面
    javaweb项目编译错误
    Ubuntu 14.04 tomcat配置
    Ubuntu 14.03 安装jdk
    Ubuntu 14.03 安装mysql
    Git 版本管理使用说明。
    getColor问题
    WebView 调试
  • 原文地址:https://www.cnblogs.com/liuyi6/p/11689220.html
Copyright © 2020-2023  润新知