docker介绍及基本命令

1. 什么是docker?

  • 使用容器让创建、部署、运行应用程序更简单的一个工具
  • 创建一个环境,将写好的项目部署到服务器
  • 让应用所需的库和依赖环境打包
  • 有一点点像虚拟机


    image.png

2. 为什么使用docker?

首先,当我们部署项目时,

  • 购买服务器。
  • 加载操作系统
  • 安装所需环境以及应用、包
  • 安装django ,将本地程序上传到服务器上面
  • 建立日志系统
  • 安装nginx服务器,在安装所需环境以及应用、包
  • 安装uwsg服务器,
  • 配置端口等

使用docker


image.png

3. docker vs vmware(or virtualbox)?

image.png

image.png

4. docker 架构

主要用于部署和测试,所以没有GUI图形用户界面


image.png
  • Docker platform
  • Docker Engine
    • a server process
    • a client cli
    • a rest api interface


      image.png
  • Docker architecture
    • Docker client
    • Docker daemon
    • Docker registries
  • Docker objects
    • Images
    • Containers
    • Services
  • Docker Hub 很重要 提供Docker的托管服务,以及安装环境
  1. 安装docker
    https://docs.docker.com/install/linux/docker-ce/ubuntu/

  2. docker运行基本指令
    参考 http://www.runoob.com/docker/docker-command-manual.html

  • 启动
    第一种:通过镜像启动一个新的容器:

    • 首先执行: sudo docker ps -a 查看本地docker容器的情况:
    • 然后使用本地的镜像启动一个新的容器:
      先执行: sudo docker images 查看本地的镜像;
      再根据镜像启动一个容器:sudo docker run 启动参数 镜像id/镜像名称+Tag
    • 退出容器:sudo docker stop 容器id
    • 查看容器: sudo docker ps -a, 可以看到本地的容器情况。

    第二种:启动一个停止的镜像:

    • sudo docker start 容器id
  • 删除
    "sudo docker rm 容器id"将容器删除!

  • Docker容器开机自动启动:
    部署项目服务器时,为了应对停电等情况影响正常web项目的访问,会把Docker容器设置为开机自动启动。在使用docker run启动容器时,使用--restart参数来设置:

    • restart具体参数值详细信息:
      • no,默认策略,在容器退出时不重启容器
      • on-failure,在容器非正常退出时(退出状态非0),才会重启容器
        • on-failure:3,在容器非正常退出时重启容器,最多重启3次
      • always,在容器退出时总是重启容器
      • unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
    • 例如:
docker run -p 8092:80 --name tracker -v /home/lifehaier:/var/www/html -d --restart=on-failure:3 tracker

解释:使用docker run命令运行一个容器,该容器内部监听80端口,与宿主机系统8092端口映射,命名该容器名称为tracker,宿主机系统目录/home/lifehaier与容器内部/var/www/html路径映射,如果容器对应的images路径/var/www/html下面有数据的话,则被宿主机/home/lifehaier路径下面的数据覆盖,-d参数是让容器后台运行,--restart=on-failure:3是指容器在未来出现异常退出(退出码非0)的情况下循环重启3次;tracker 是images名称,容器基于此images进行启动。

  • 如果创建时未指定 --restart=always ,可通过update 命令设置
docker update --restart=always 
  • 此外,在docker ps查看容器时,对于使用了--restart选项的容器,其可能的状态只有Up或Restarting两种状态。

你可能感兴趣的:(docker介绍及基本命令)