Docker

作者: YkWorm | 来源:发表于2019-08-11 17:40 被阅读0次

Docker的特点

  • 保持应用运行环境一致,可任意发布不同发行版的Linux上
  • 多个容器共享系统资源,相互隔离
  • 快速创建,快速启动

Docker的基本概念

  • 镜像
    运行环境与配置等非动态数据 - readonly file system
    使用应用版本化

  • 容器 = 镜像 + 读写层
    RW file system

  • 仓库
    公库
    私库

  • Docker hub 官方维护的仓库
    注册后可以把私人的镜像推送到Docker hub

  • Dockerfile
    定义镜像内容:例如应用的配置文件


    image.png

在项目中的使用

以正式环境的MySQL cluster的Dockerfile和build_prod.sh文件为例


image.png
  1. docker build 命令 根据同级目录下的Dockerfile文件内容 生成镜像
  2. docker tag 给镜像一个tag 并制定它属于某个仓库
  3. docker push 把镜像推送到仓库
  4. docker run 创建容器
  5. docker container prune --force 删除未使用的镜像
  6. export 定义一个变量
  7. docker container stop 停止指定容器
  8. exec 在容器中执行命令
run 命令
  • -d 表示容器在后台运行
  • --net 指定容器的网络连接类型 例如VM的桥接模式
    网桥模式: 主机上使用同一个网桥的不同容器可以互相通信
  • --name 容器名称
  • --mount type 目录挂载方式(后文详细解析)
  • 镜像 : 15989280211/mysql-cluster
  • 创建容器后执行命令 ndb_mgmd 启动 MySQL cluster mgmd节点
  • --dns 注意 当容器需要对外网发出请求时 DNS必须配置正确 例如发短信功能
挂载
  • 把主机目录挂载到容器 可以避免重建容器后数据丢失 例如Mysql
  1. bind模式

     --mount type=bind,src=/dsk/c/mysql/mg1/data,dst=/var/lib/mysql
    
    • 容器访问目录 /var/lib/mysql ,它在主机上的源目录为/dsk/c/mysql/mg1/data
    • 如果 /dsk/c/mysql/mg1/data 不存在会报错
  2. volume

     -v /home/docker/mariadb/cluster0/conf:/etc/mysql/conf.d
    

    volume的好处是新建容器不会清空目录的内容
    例如第一次创建MariaDB容器并设置了用户和用户权限,新建容器后可以继续使用

常用命令

  • 打印容器日志
    docker logs -f -t --tail 500 xlsys-distributed-server-rd10080
    -f : 跟踪日志输出
    --since :显示某个开始时间的所有日志
    -t : 显示时间戳
    --tail :仅列出最新N条容器日志

  • 进入容器
    sudo docker exec -it rmq-1 /bin/bash

  • 查看当前docker有哪些进程
    docker ps
    docker container ls

  • 复制文件到容器
    docker cp ./keyfile 0597c4f091xxx:/home
    复制keyfile到容器 0597c4f091xxx的home目录

相关文章

  • docker学习

    docker镜像 docker容器 docker仓库 安装docker docker版本 docker分为社区版和...

  • Docker安装和运行

    获取Docker 安装Docker 验证安装 1、获取Docker Docker for Mac Docker f...

  • Docker知识手册

    Docker 容器 启动docker:docker start 查看docker运行状态:docker stats...

  • Docker简介

    章节介绍 # Docker是什么# Docker包括什么# Docker镜像# Docker编配# Docker还...

  • Docker 常用操作

    Docker docker: 18.09.4、nvidia-docker: 2.0.3 docker 19.03 ...

  • rancher+harbor离线安装

    安装docker,此docker为社区版docker。docker官方文档:https://docs.docker...

  • Linux之Docker

    Linux之Docker 目录 Docker简单介绍 在线Docker安装 离线Docker安装 Docker简单...

  • Docker常用命令

    Docker常用命令 Docker帮助命令 docker version:查看docker版本 docker in...

  • Docker基础操作

    Docker部署 Docker安装 镜像加速 Docker 基础命令 Docker镜像管理 搜索镜像docker ...

  • docker容器状态查看命令集

    docker inspect 用法 : docker inspect [docker名称/docker short...

网友评论

      本文标题:Docker

      本文链接:https://www.haomeiwen.com/subject/ehfsjctx.html