栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker简介

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker简介

文章目录
  • 简介
  • 概念
  • 安装
  • 使用

简介
  • 从概念到上手了解Docker
概念
  • Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,很容易地发布和应用到任意平台中
  • 例如,我们的某个应用要依赖的环境包括
    • 配置文件
    • 代码
    • tomcat
    • JDK
    • 操作系统
  • 现在的物理服务器是很强大的,跑一个应用太浪费,但如果有多个应用,某个应用的内存泄漏会牵连到其他
  • 这个问题可以使用虚拟机隔离来解决,但是一个虚拟机就需要一套完整的OS,浪费资源
  • 所以Docker出现了,一个壳负责一个应用,一个机器上可以有几十个壳,共享OS、启动速度快、隔离
  • 总结:可以把Docker理解为轻量级的可移植的虚拟机,无论是在本地还是部署到服务器,能保证环境一致且应用间隔离
  • Developers Love Docker. Businesses Trust It.
    • 使用前
    • 使用后
    • Docker 提供了一组应用打包、传输和部署的方法,以便你能更好地在容器内运行任何应用
安装
  • 在RedHat7.2操作系统中安装
    • 可以使用uname -r查看内核版本,应该是不能低于内核版本高于 3.10
    • 查看红帽版本号``
  • 依次执行如下命令
    yum install -y yum-utils device-mapper-persistent-data lvm2
    # yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sed -i 's/$releasever/7/g' /etc/yum.repos.d/docker-ce.repo
    sudo yum install docker-ce docker-ce-cli containerd.io	# 静静等待
    systemctl start docker
    systemctl enable docker
    
  • 启动时报错:Job for docker.service failed because the control process...
    • 执行docker version会看到Cannot connect to the Docker daemon...
    • 目前看应该是网络原因,搭建网桥?防火墙的原因?daemon进程启动?
    • 这么安装有问题,试试下面的方法:
    yum remove podman-docker
    yum remove podman
    yum remove buildah
    sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
    sudo dnf install docker-ce --nobest
    sudo systemctl enable --now docker
    sudo usermod -aG docker $USER	# 把用户$USER追加到docker组中
    sudo systemctl disable firewalld
    
使用
  • docker的常见命令
  • 启动:systemctl start docker
  • 关闭:systemctl stop docker
  • docker的镜像称为image,类似于操作系统快照,是一个搭建好的运行环境(静态)
    • 容器是container(动态),是image的实例,他们之间类似于类和实例化对象之间的关系
    • 配置好证书后可以从仓库pull镜像:docker pull,使用 docker images 查看已经拉取的镜像
    • 在该image上启动一个容器:docker run -t -i -w /home/dev/nba --name local_iso ci_builder_rhel72 /bin/bash
      • ci_builder_rhel72是镜像名称
      • --name 设置container名称
      • -t:进入终端
      • -i:通过容器的STDIN获取交互式连接,这两个参数一般一起使用:-idt
      • -d:后台运行,退出容器也不会stop
      • -w:决定进入容器后的目录
      • /bin/bash:在container中启动一个shell
      • 此时应该能看到:[root@790cfafd543d nba]#,这个790…是创建时返回的ID
  • 查看container进程:docker ps,可以加-a参数
  • 退出可以使用ctrl + d,或者exit
  • 再次进入使用docker start -a local_iso,-a表示docker attach
    • 一般会分两步,start&attach,一起执行会卡顿而且退出不stopped,不清楚原因!
    • 这种方法进入,推出后container会stopped,ps会发现没了
    • docker exec -it local_iso /bin/bash,这种方法推出后container不退出
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/333672.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号