zoukankan      html  css  js  c++  java
  • docker安装和基本操作

    简介

    docker的三个基本概念

    • 镜像(Image)  

        Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。

    • 容器(Container)

        容器 (container) 的定义和镜像 (image) 几乎一模一样,是指image的运行时,包含了文件资源(image展开)和系统资源(变成process存在于系统中) 

    • 仓库(Repository)

        Docker 仓库是集中存放镜像文件的场所。

      Docker 使用 C/S 结构,即客户端/服务器体系结构。 Docker 客户端与 Docker 服务器进行交互,Docker服务端负责构建、运行和分发 Docker 镜像。

      Docker 客户端和服务端可以运行在一台机器上,也可以通过 RESTful 、 stock 或网络接口与远程 Docker 服务端进行通信。

      

      这张图展示了 Docker 客户端、服务端和 Docker 仓库(即 Docker Hub 和 Docker Cloud ),默认情况下Docker 会在 Docker 中央仓库寻找镜像文件,这种利用仓库管理镜像的设计理念类似于 Git ,当然这个仓库是可以通过修改配置来指定的,甚至我们可以创建我们自己的私有仓库。

    Docker 的核心组件包括:

    • Docker Client:

        Docker 客户端。它其实就是 Docker 提供命令行界面 (CLI) 工具,是许多 Docker 用户与 Docker 进行交互的主要方式

    • Docker daemon:

        服务器组件,以 Linux 后台服务的方式运行,是 Docker 最核心的后台进程,我们也把它称为守护进程。它负责响应来自 Docker Client 的请求,然后将这些请求翻译成系统调用完成容器管理操作。

    • Docker Image:

        Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。我们可将 Docker 镜像看成只读模板,通过它可以创建 Docker 容器。

    镜像有多种生成方法:

    • 从无到有开始创建镜像
    • 下载并使用别人创建好的现成的镜像
    • 在现有镜像上创建新的镜像
    • Docker Registry

        Docker registry 是存储 docker image 的仓库,它在 docker 生态环境中的位置如下图所示:

        

    • Docker Container

        Docker 容器就是 Docker 镜像的运行实例,是真正运行项目程序、消耗系统资源、提供服务的地方。

    一、安装docker

      Docker要求运行在Centos 7上,要求系统为64位,系统内核版本3.10以上

      1. uname -an 查看当前系统版本

      2. yum -y install docker 下载安装docker

      3. service docker start 启动docker服务

      4. docker version 检查docker是否安装成功.查看docker的版本号,包括客户端、服务端、依赖的Go等

      当看到下图的信息,就是表示本机docker已经安装成功

      

    chkconfig docker on: 加入开机启动

    docker info:查看系统(docker)层面信息,包括管理的images, containers数等

    二、镜像操作

      创建容器要以镜像为基础,所以先讲下docker镜像操作

    1. 查看镜像

      docker images :查看下本地镜像

      docker images -a :  列出所有的images(包含历史)

    2. 搜索镜像

      docker search <image>可以指定具体版本进行下载。 如:docker search java -->在docker中搜索java

    3. 下载镜像

      docker pull <image> : 下载对应的images

    如: docker pull docker.io/nginx 下载nginx

      下载到本地的镜像要比docker Hub上搜索出来的要大,因为下载过程中自动解压了,在查看镜像列表就有了刚才下载的镜像

      列表包含了仓库名版本标签镜像ID创建时间以及所占用的空间

    4. 删除镜像

      docker rmi 镜像id

      如果删除的时候,提示镜像在使用,说明镜像中有容器正在使用,先删除容器,再删除镜像

    5. 容器的使用

    # 使用镜像创建容器

    1. docker run -i -t sauloal/ubuntu14.04
    2. docker run -i -t sauloal/ubuntu14.04 /bin/bash # 创建一个容器,让其中运行 bash 应用,退出后容器关闭
    3. docker run -itd --name centos_aways --restart=always centos #创建一个名称centos_aways的容器,自动重启
    # --restart参数:always始终重启;on-failure退出状态非0时重启;默认为,no不重启

    # 查看容器
    docker ps :列出当前所有正在运行的container
    docker ps -l :列出最近一次启动的container
    docker ps -a :列出所有的container(包含历史,即运行过的container)
    docker ps -q :列出最近一次运行的container ID
    # 再次启动容器
    docker start/stop/restart <container> #:开启/停止/重启container
    docker start [container_id] #:再次运行某个container (包括历史container)
    #进入正在运行的docker容器
    docker exec -it  [container_id]  /bin/bash
    docker run -i -t -p <host_port:contain_port> #:映射 HOST 端口到容器,方便外部访问容器内服务,host_port 可以省略,省略表示把 container_port 映射到一个动态端口。

    # 删除容器
    docker rm 容器id

    docker rm -f  容器名称

    docker rm `docker ps -a -q` #删除所有的container

    docker ps -a -q | xargs docker rm #:同上, 删除所有的container​​​​​​

    # 停止容器

    docker stop 容器id或名称

    docker start 、 docker run 、docker create 的区别

    docker run 和 docker create 参数基本一样,docker run 相当于docker create 和 docker start

      docker create:只创建容器。 

      docker start 启动一个已经创建的容器

      docker run 创建容器并后台启动

    参考: https://blog.csdn.net/deng624796905/article/details/86493330

      https://blog.csdn.net/fgf00/article/details/51893771

  • 相关阅读:
    let与const的区别
    IOS客户端UIwebview下web页面闪屏问题
    移动端click事件延迟300ms问题
    css3+visbibilty解决淡入淡出问题
    git学习之branch分支
    git学习之冲突解决办法
    webpack+vue-cli项目打包技巧
    一个高级PHP工程师所应该具备的
    多站点
    PHP error_reporting() 错误控制函数功能详解
  • 原文地址:https://www.cnblogs.com/FondWang/p/12236173.html
Copyright © 2011-2022 走看看