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

逸学Docker【java工程师基础】1.认识docker并且安装

场景问题

在实际开发过程中我们有这样的场景问题

在开发阶段的环境配置到了其他人项目人员那里就不能运行了,尽管配置规格相同,但是在较多的不同的环境情况下还是可能会有错误。

开发:程序员:你那边可以运行了吗

测试:测试员:不行

程序员:为什么不行

生产:运维员:不行就是不行,我来~我来~

而且docker安装应用方便

镜像,容器,仓库


当我们利用docker安装应用时,docker会自动搜索并下载应用镜像(image)

镜像不仅包含应用本身,还包含应用运行所需要的环境,配置,系统函数库。

docker会在运行镜像时创建一个隔离环境,初为容器(container)

镜像仓库:公共仓库:例如docker官方的dockerhub,国内也有一些云服务商提供类仪于dockerhub的公开服务,比如阿里云镜像服务。
除了使用公开仓库外,用户还可以在本地措建私有DockerRegistry.

企业自己的镜像最好是采用私有Dacker Registry来实现。

Docker的安装 

注意

1.检查自己的操作系统

uname -r : 显示操作系统的发行版号
uname -a :显示系统名、节点名称、操作系统的发行版号、内核版本等等

2. 安装yum-utils

yum install -y yum-utils \

device-mapper-persistent-data \

lvm2 --skip-broken

安装yum-utils是为方便添加yum源使用的,

device-mapper-persistent-datalvm2是储存设备映射(devicemapper)必须的两个软件包

我们还可以配置一个

--skip-broken为跳过已损坏

3.然后更新本地镜像源:配置阿里云的仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

回车后,出现这一段说明镜像源配好了

4. 正式安装docker

yum install -y docker-ce

或者

 yum install docker-ce docker-ce-cli containerd.io -y

docker-ce为社区免费版本。稍等片刻,docker即可安装成功。

 5.启动docker

5.1关闭防火墙

在学习阶段可以直接关防火墙(docker的应用需要用到各种端口,逐一去修改防火墙设置,非常麻烦)

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

也可以查看一下

 5.2 docker的一些命令

systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

sudo systemctl enable  docker  #设置 docker 开机自启动

6.查看docker版本

docker -v

 

快捷版安装

操作系统的发行版号查看  uname -ryum install -y yum-utils \device-mapper-persistent-data \lvm2 --skip-brokenyum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum install docker-ce docker-ce-cli containerd.io -y systemctl start dockersystemctl enable docker版本查看  docker -v

相关文章:

  • Scrum敏捷研发管理解决方案
  • swift对接环信sdk
  • SC20-EVB ubuntu14.04 Andriod 5.1 SDK编译下载
  • day19【LeetCode力扣】160.相交链表
  • 【数据结构】排序之归并排序与计数排序
  • MySQL深入——13
  • MYSQL单表查询
  • Vue Axios——前端技术栈
  • C语言——小细节和小知识9
  • 【论文阅读】Consistency Models
  • 最新AI绘画Midjourney绘画提示词Prompt大全
  • Java http 响应式请求和非响应式请求有什么区别
  • Spring Boot - Application Events 的发布顺序_ApplicationFailedEvent
  • 10个常见的async/await函数
  • Qt根据单价计算总价与进制转换
  • [NodeJS] 关于Buffer
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • create-react-app项目添加less配置
  • HashMap剖析之内部结构
  • Python3爬取英雄联盟英雄皮肤大图
  • REST架构的思考
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 分类模型——Logistics Regression
  • 分享一份非常强势的Android面试题
  • 给第三方使用接口的 URL 签名实现
  • 关于Java中分层中遇到的一些问题
  • 官方解决所有 npm 全局安装权限问题
  • 解决iview多表头动态更改列元素发生的错误
  • 开发基于以太坊智能合约的DApp
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 如何选择开源的机器学习框架?
  • 我的面试准备过程--容器(更新中)
  • 详解移动APP与web APP的区别
  • 用jquery写贪吃蛇
  • gunicorn工作原理
  • Java性能优化之JVM GC(垃圾回收机制)
  • #单片机(TB6600驱动42步进电机)
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (三)mysql_MYSQL(三)
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)3D模板阴影原理
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • ... 是什么 ?... 有什么用处?
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .net core 6 redis操作类
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET MVC 验证码
  • .NET 设计一套高性能的弱事件机制
  • .NET成年了,然后呢?
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • @SuppressWarnings注解