当前位置: 首页 > news >正文

Docker容器技术介绍,应用场景,安装应用以及项目部署

文章目录

      • 一、什么是Docker
      • 二、Docker虚拟化技术和传统的虚拟技术的区别
      • 三、为什么需要使用Docker
      • 四、Docker的安装
        • Docker 的安装环境:
        • centos10 为例,只支持 centos7 以上的版本
          • 1. 安装VM虚拟机和Centos 10
          • 2. 设置虚拟机网络:设置桥接模式
          • 3. 安装 Docker
      • 五、Docker的应用
        • 测试过程:
        • Docker的常用命令:
      • 六、Docker 部署项目

一、什么是Docker

Docker就是一个虚拟机,它是一个开源的容器平台,它和VM有相似的地方,也有不同的地方。
Docker名称解释:

  • 仓库(Docker仓库,Dokcerhub):存放镜像的地方,类似于GitHub,包含:ubuntu,mysql,tomcat,redis,nginx,通过push上传镜像到仓库,通过pull命令下载镜像。
  • 镜像(images):说白了就是由本体打包出来的一个镜像文件。
  • 容器:容器是正在运行的虚拟机,它是由镜像run时生成的容器,一个镜像可以run出N个容器。
  • Dockerfile:把自动化的项目通过build命令构建成镜像。
  • tar文件:可以把镜像文件保存tar文件。

二、Docker虚拟化技术和传统的虚拟技术的区别

  • Docker的思想来源于集装箱。核心思想是:隔离
  • 传统虚拟机:Lib库、内核、硬件占用空间比较大,不够轻便
  • Docker:最简易的内核,非常轻便,可以有多个容器,相互独立

三、为什么需要使用Docker

项目一般有多个环境:开发(环境),测试(环境),运维(环境)

  • 1.我的电脑没问题,为什么你的有问题。
  • 2.开发部署生产环境,还是运维去学习项目的部署的技术。
  • 3.微服务项目:部署项目非常麻烦,需要一天。

DevOps=Jenkins+Docker+K8s:

  • Docker思想:开发项目打包war包+环境打包+数据打包成镜像,然后上传到DockerHub仓库,然后运维只需要下载开发的镜像,然后运行即可。

四、Docker的安装

Docker 的安装环境:

非 Linux 系统需要 “桥梁”,而非 Docker 依赖虚拟机

  • 在 Windows/macOS 上,虚拟机的作用是提供一个 Linux 环境来运行 Docker,这是操作系统限制导致的间接依赖,而非 Docker 本身需要虚拟机。
  • 对比:在 Linux 服务器上,Docker 可直接运行,无需任何虚拟机层(如阿里云、腾讯云的 Linux 服务器直接部署 Docker)。
centos10 为例,只支持 centos7 以上的版本
1. 安装VM虚拟机和Centos 10
  • VM虚拟机:
    VM虚拟机 百度云盘下载地址
    VM 官方下载地址
  • CentOS 系统:
    官方下载地址
    安装 CentOS 系统时,注意设置root用户密码,后续docker安装需要用root用户去登录
2. 设置虚拟机网络:设置桥接模式

注意:要关闭本机的防火墙和杀毒软件

3. 安装 Docker
  • 为了避免端口冲突,建议关闭防火墙:
    sudo systemctl stop firewalld
    sudo systemctl disable firewalld
  • 安装依赖包
    sudo yum install -y yum-utils
  • 设置国内的下载源
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 更新本地镜像源并安装 docker CE
    sudo yum update -y
    sudo yum install -y docker-ce docker-ce-cli containerd.io
  • 启动 docker
    sudo systemctl start docker
  • 为了确保 docker 在系统启动时自动运行,执行以下命令:
    sudo systemctl enable docker
  • 查看 docker 版本
    docker version
  • 配置 docker 镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]
}
EOF
  • 重启Docker服务使配置生效:
    sudo systemctl daemon-reload
    sudo systemctl restart docker

五、Docker的应用

测试过程:
  1. 开始测试之前,测试服务器上面安装 Docker,Docker的版本最好和开发一致。

  2. 根据测试请求说明的镜像地址 DockerHub 拉取镜像。
    这里的镜像是需要开发把【项目打包war包+环境打包+数据打包】成镜像

  3. 运行镜像,生成容器。

  4. 访问项目,开始测试,发现Bug,反馈bug给开发。

Docker的常用命令:
  1. 搜索镜像:docker search tomcat
  2. 拉取镜像:docker pull tomcat
  3. 查看本地镜像文件:docker images
  4. 运行镜像生成容器:docker run -d -p 9999:8080 镜像ID
    -d 在后台运行
    -p 9999:8080 服务器的端口映射到容器内的端口。
    如:docker run -d 266d1269bb29
  5. 如何查看本地正在运行的容器:docker ps
    如果:docker ps -a
    -a 表示查看所有历史运行的容器。
  6. 查看容器内部的日志信息。
    docker logs -f 容器id
  7. 进入容器:
    docker exec -it 容器id /bin/bash
    exit 是退出
  8. 启动和停止容器:docker start/stop/restart 容器id

六、Docker 部署项目

下载 xshell 免费版,首先通过 Xshell 虚拟终端连接上 linux 服务器,再执行以下步骤:

  1. 安装 rz 上传文件的命令
    yum install lrzsz
  2. 切换到 /opt 目录
    cd /opt
  3. 使用 rz 命令上传 war 项目文件到 /opt 目录。
  4. 拷贝当前目录下的 test.war 文件到容器中对应放项目的位置
    docker cp test.war b94b4722de68:/usr/local/tomcat/webapps
  5. 访问项目:
    http://192.168.0.200:9999/test 192.168.0.200 替换成自己的 IP 地址
http://www.xdnf.cn/news/992179.html

相关文章:

  • AUTOSAR图解==>AUTOSAR_TR_ModelingShowCases
  • D. Plus Minus Permutation
  • day28/60
  • 常用的免费网络API接口
  • 脑机新手指南(九):高性能脑文本通信:手写方式实现(上)
  • 【navigator.clipboard】复制链接弹出详情信息(模拟电商app)、页面中粘贴图片、复制文本自动添加版权信息
  • CentOS7自带的yum依然无法联网到官方源
  • 自我推荐一下
  • 关于亚马逊WOOT折扣力度
  • 中国北方GNSS业务站网积雪深度数据集(GSnow-CHINA v1.0, 12h/24h, 2013-2...
  • 【烧脑算法】三指针的降维打击:三线并行锁定解题细节
  • 数据隐私是什么?如何做好数据隐私规范?
  • Nuttx之mm_extend
  • Python数据类型大全:整型、浮点、字符串与布尔值
  • Codeforces 1029 Div3(ABCDE)
  • Windows10下利用VS2019编译JpegLib
  • seo优化新利器:AI如何让内容批量生成与排名提升双管齐下?
  • Gremlin创建schema(包括实体和关系)
  • 【质数】埃氏筛法、线性筛法(欧拉筛法)
  • 【Linux系统编程】System V
  • Java锁机制对决:ReadWriteLock vs StampedLock
  • 从0到1落地一个RAG智能客服系统
  • ConcurrentHashMap详解:原理、实现与并发控制
  • 专访伦敦发展促进署CEO:在AI与黄仁勋之外,伦敦为何给泡泡玛特和比亚迪留了C位?
  • MySQL优化器
  • 3.3.1_2 检错编码(循环冗余校验码)
  • 【完整源码+数据集+部署教程】安检爆炸物检测系统源码和数据集:改进yolo11-REPVGGOREPA
  • 接口测试之文件上传
  • 【完整源码+数据集+部署教程】石材实例分割系统源码和数据集:改进yolo11-CA-HSFPN
  • 【Docker】快速入门与项目部署实战