Docker入门

1、Docker

一、什么是容器?

  容器就是将软件打包成标准化单元,用于开发、交付和部署。容器是轻量的、可执行的独立软件包 ,包含软件运行所需的全部内容:代码、运行时环境、系统工具、系统库和设置。
简单的讲,容器就是一个存放东西的地方,好比衣柜就是能够存放衣物的地方,容器能够用来存储软件。mysql

二、什么是Docker?

(1)Docker是一种开源的容器引擎,可以自动执行重复性的任务(好比搭建、配置开发环境)。
(2)Docker不是虚拟机,是一个轻量级容器技术,可是实现了虚拟机技术的资源隔离。
注:
  虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操做系统。
  容器虚拟化的是操做系统而不是硬件,容器之间是共享同一套操做系统资源的。
(3)容器还能够进行版本管理、复制、分享、修改,就像管理普通的代码同样。
(4)Docker支持将软件编译成一个镜像文件,并在镜像文件中配置各类软件,将编译好的镜像文件发布出去后,别人使用时就能够直接使用镜像里的各类软件。运行中的镜像即为一个容器,且容器启动很快(比虚拟机快)。linux

三、Docker核心概念

(1)Docker主机(Host):安装了Docker的机器(直接装在操做系统上,好比linux上安装docker),一个物理或者虚拟的机器,用于执行Docker守护进程和容器。
(2)Docker客户端(Client):用于链接Docker主机并进行操做。经过命令行或者其余工具操做Docker。
(3)Docker镜像:用于建立Docker容器的模板,一些打包好的软件镜像。
(4)Docker仓库:用于保存镜像文件,能够理解为代码仓库。
注:
  DockerHub : https://hub.docker.com/
(5)Docker容器:指的是独立运行的一个或一组应用,每一个镜像启动后就是一个容器,一个镜像启动屡次就是多个容器。sql

四、Docker使用步骤

(1)安装Docker。参考网址: https://blog.csdn.net/GO_D_OG/article/details/75675159
(2)去Docker仓库找到想要的镜像文件,并下载。
(3)使用Docker运行镜像文件,会生成一个容器。
(4)经过控制容器的启动与关闭来操做软件的启动与关闭。docker

五、Docker经常使用操做

(1)操做镜像文件:(命令行操做)工具

【从DockerHub上检索镜像】
    docker search 关键字  
    好比(检索mysql镜像) : docker search mysql
    
【下载镜像】
    docker pull 镜像名:标签名   其中标签名指的是版本号,若不写则默认为最新版本
    好比(下载mysql 5.5版本) : docker pull mysql:5.5
    
【查看本地的镜像列表】
    docker images
    
【删除本地镜像】
    docker rmi image-id

(2)容器操做spa

【运行镜像】
    docker run --name container-name -d -e MYSQL_ROOT_PASSWORD image-name
    其中:
        --name 表示自定义一个容器名
        -d 表示后台运行
        image-name 用于指定下载的镜像文件
        -e MYSQL_ROOT_PASSWORD 用于设置参数,mysql没指定某个参数的话,会报错(一个坑)
    好比(运行mysql):
      docker run --name mysqlDemo -d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.5
    其会生成一个id
    
【查看运行中的容器】
    docker ps -a
    其中:
        -a 能够查看全部的容器(包括非运行的容器)
        
【中止指定容器】
    docker stop container-name/container-id
    
【启动指定容器】
     docker start container-name/container-id
     
【删除指定容器】
     docker rm container-id
     
【端口映射,将主机端口映射到容器端口】
    若不映射,经过访问主机端口,不会访问到容器中,则容器没有用。
    -p 主机端口:容器端口
    好比:
        docker run --name mysqlDemo -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.5
        
【查看容器日志】
    docker logs container-name/container-id
相关文章
相关标签/搜索