Linux 系统Centos7.0记录安装Docker和安装jdk环境完整教程(建议收藏备用)

Linux 系统Centos7.0记录安装Docker和安装jdk环境完整教程(建议收藏备用)

一、安装前准备工作

1.1 查看服务器系统版本以及内核版本
cat /etc/redhat-release
1.2 查看服务器内核版本
uname -r

image-20240327110849824
这里我们使用的是CentOS 7.9 系统,内核版本为3.10

1.3 安装依赖包 (step 1: 安装必要的一些系统工具)
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

image-20240327111134519

遇到这个报错,首先确定 有没有网络访问权限,网络配置,解决不能联网、ping不通外网、主机的问题

没遇到报错的,直接跳到1.4

第一种解决方法

  1. 首先运行:yum clean all
  2. 然后运行:yum repolist all

第二种 相对麻烦

可以从网上下载一个可以访问的YUM源放到【/etc/yum.repos.d】目录下 自行去下载解决,提前备份好

curl -o /etc/yum.repos.d/CentOS-Base-Ali.repo http://mirrors.aliyun.com/repo/Centos-7.repo

第三种 把虚拟机的网关 重新设置一下 和dns也都重新设置一下,别人我看都生效了,就我的没生效

先能保证ping www.baidu.com 是通的

image-20240327134227137

image-20240327134237444

image-20240327134253121

image-20240327134311692

image-20240327134326756

最主要的是设置dns 114.114.114.114 或者8.8.8.8

默认的ip地址也要设置好

设置完 一定要

centos6 :

service network restart

centos7 :

systemctl restart network.service 或者systemctl restart network重启网络

实在解决不了

https://blog.csdn.net/weixin_45293769/article/details/119570874

可以看下这个文章,我是通过这个ping通的,主要是第一步没有选择net 模式

image-20240327162721593

好废话,不多说。

出现这种情况就是成功了。

image-20240327164723297

image-20240327163810407

1.4 设置阿里云镜像源(Step 2: 添加软件源信息)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

image-20240327163829790

####1.5 更新yum索引(Step 3: 更新yum索引列表并安装Docker引擎)

sudo yum makecache fast

image-20240327164144600

yum索引列表没有更新可以直接使用yum makecache

二、准备工作结束,开始安装Docker

2.1 Docker版本说明
Docker从17.03版本之后分为两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。
企业版包含了一些收费服务,个人开发者一般用不到,所以我们只需要安装社区版docker-ce版本即可。
2.2 docker-ce安装
sudo yum install docker-ce

安装过程中会提示确认,输入y以确认。

image-20240327164550447

安装完成!

image-20240327164620253

2.3 启动docker并设置开机自启
#启动docker命令
sudo service docker start
sudo systemctl start docker
#设置开机自启命令
sudo systemctl enable docker
#查看docker版本命令
sudo docker version

image-20240327164901813

image-20240327164955261

三、Docker基本概念介绍

3.1 仓库 (repository)
docker仓库是用来保存镜像的地方。镜像构建完成后,可以直接在当前宿主机上运行,但是如果需要在其它服务器上使用这个镜像,
就需要一个集中存储、分发镜像的服务,docker仓库就是这样的一个服务。
3.2 镜像(Image)
这里面保存了应用和需要的依赖环境,比如运行的runtime和webapp等。
为什么需要多个镜像?当开发、构建和运行容器化应用程序时,我们通常会有不同优先级。通过为这些独立的任务提供不同镜像 
3.3 容器(Container)
镜像的实例。一个容器代表一个正在运行的应用程序、进程或服务。它由 Docker 镜像、执行环境和标准指令集组成。需要扩展服务时,才
真正将镜像跑起来的东西,镜像在容器里面。可以看作是一个完全隔离的盒子。一个容器镜像实例代表一个独立的进程。

四、Docker常用命令

docker search --镜像名    搜索仓库镜像docker pull --镜像名    拉取镜像docker ps     查看目前正在运行的所有容器 (-a 显示包括已经停止的容器)docker rmi image_id/image_name    删除镜像docker build    使用Dockerfile创建镜像docker run    运行容器docker exec    进入容器中执行命令 (例如:docker exec -it  container_id/container_name /bin/bash)docker logs  container_id/container_name   查看容器日志(例如:docker logs -f -t --tail 10 container_id )docker start  container_id/container_name    启动容器docker restart  container_id/container_name    重启容器docker stop container_id/container_name    停止容器docker rm container_id/container_name    删除容器(只能删除已停止的容器)更多的命令可以通过docker help命令来查看。

五、安装Docker可视化管理工具Portainer

5.1 搜索镜像
docker search java

image-20240327165545982

docker search jdk8

image-20240327170246042

5.2 拉取镜像
#拉取镜像命令
docker pull ascdc/jdk8
#查看镜像命令
docker images
#删除镜像命令
docker rmi ascdc/jdk8

image-20240327171228386

image-20240327171239835

5.3 运行镜像(运行容器)
#启动容器
docker run -d -it --name java-8 java:8
# 其中,--name后面的“java”是为容器指定了一个别名,而最后的那个“java”指的是下载镜像时的名称。
#查看启动中的容器
docker ps

image-20240327173543083

image-20240327173612447

启动参数说明:

-it  输出容器命令行的内容 即容器的自身的程序输出在控制台 有点类似前台运行-d  和it相反  隐藏后台运行-p  端口映射 9000::9000 外部(宿主机)端口:镜像里面运行的端口 将宿主机9000端口映射到镜像里面的9000端口--restart  重启方式:always跟随docker自启--name  启动后的容器名称-v  挂载容器数据卷--network  连接到某个网络(例如:--network test_net)--network-alias  容器的网络名称(例如:--network-alias jdk)
5.4登录查看容器中安装的jdk版本
docker attach d2

其中的 “d2” 指的是什么呢?

上面有提到过,我们启动的java镜像的容器ID是“d264cb834bf6ad4e5e56c7ca16578390161f8b75ea029b33c5bc977de724b94c”,所以, docker attach 命令后面,你可以指定容器ID来进入具体的容器。可以指定d2、d264、d264cb834bf等任意长度的值,都代表了当前的java容器。

回车,效果如下图:

image-20240327173932059

除了使用容器ID进入容器之外,也可以使用容器的别名进入容器:

docker attach java

上面这种是通过容器的别名进入容器内部的。

  • 使用exec命令进入容器

【方式一】:通过容器别名进入容器:

docker exec -it java8 /bin/bash

【方式二】:通过容器ID进入容器:

docker exec -it d2 /bin/bash

后面有空把发布java项目的也加进来!

六、卸载Docker

#删除docker-ce命令
yum remove docker-ce
#删除镜像、容器、配置文件等内容
rm -rf /var/lib/containerd
rm -rf /var/lib/docker

七、总结

本篇文章带大家完整的在Linux操作系统上安装Docker社区版,以及安装可视化管理工具Portainer,介绍了如何启动docker、拉取镜像、运行容器及docker的常见命令。
记录一次完整安装和解决安装docker的问题,如果觉得文章写得不错的话,建议转发、收藏,以备不时之需。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/571715.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解 WebWorker 的概念、使用场景、示例

前言 提到 WebWorker,可能有些小伙伴比较陌生,不知道是做什么的,甚至不知道使用场景,今天这篇文章就带大家一起简单了解一下什么是 webworker! 概念 WebWorker 实际上是运行在浏览器后台的一个单独的线程&#xff0…

eNSP ppp验证实验

1、R1和R2使用PPP链路直连&#xff0c;R2和R3把2条PPP链路捆绑为PPP MP直连 2、按照图示配置IP地址 3、R2对R1的PPP进行单向chap验证 4、R2和R3的PPP进行双向chap验证 实验步骤&#xff1a; R1配置&#xff1a; #修改名称 <Huawei>sys Enter system view, return u…

javascript基础代码练习之超速罚款

<!DOCTYPE html> <html> <head><meta charset"UTF-8" /><title>Nauji</title> </head> <body><script>function punish(speed) {const limit 120;if (speed < limit) {return 未超速;} else if (speed &l…

【二叉树】Leetcode 104. 二叉树的最大深度【简单】

二叉树的最大深度 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例1 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3 解题思路 二叉树的最大深度可以通过递归方式来求解…

canvas跟随鼠标画有透明度的椭圆边框

提示&#xff1a;canvas跟随鼠标画有透明度的椭圆边框 文章目录 前言一、跟随鼠标画有透明度的椭圆边框总结 前言 一、跟随鼠标画有透明度的椭圆边框 test.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&…

矩阵间关系的建立

参考文献 2-D Compressive Sensing-Based Visually Secure Multilevel Image Encryption Scheme 加密整体流程如下: 我们关注左上角这一部分: 如何在两个图像之间构建关系,当然是借助第3个矩阵。 A. Establish Relationships Between Different Images 简单说明如下: …

docker拉取镜像

docker 拉取镜像 命令格式 docker pull 仓库名称[:标签] 从下载过程可以看出&#xff1a; &#xff08;1&#xff09;镜像文件是由若干层组成&#xff0c;即&#xff1a;AUFS联合文件系统。这是实现增量保存与更新的基础 &#xff08;2&#xff09;下载过程会输出各层镜像的信…

MySQL数据库备份策略与实践详解

目录 引言 一、MySQL数据库备份的重要性 &#xff08;一&#xff09;数据丢失的原因 &#xff08;二&#xff09;数据丢失的后果 二、MySQL备份类型 &#xff08;一&#xff09;根据数据库状态 &#xff08;二&#xff09;根据数据的完整性 &#xff08;三&#xff09;…

Python7:接口自动化学习1 RPC

API&#xff08;Application Programmming Interface&#xff09; 应用编程接口&#xff0c;简称“接口” 接口&#xff1a;程序之间约定的通信方法 特点&#xff1a;约定了调用方法&#xff0c;以及预期的行为&#xff0c;但是不透露具体细节 意义&#xff1a;程序能解耦&…

HttpRunner 接口自动化测试框架实战,打造高效测试流程

简介 2018年python开发者大会上&#xff0c;了解到HttpRuuner开源自动化测试框架&#xff0c;采用YAML/JSON格式管理用例&#xff0c;能录制和转换生成用例功能&#xff0c;充分做到用例与测试代码分离&#xff0c;相比excel维护测试场景数据更加简洁。在此&#xff0c;利用业…

【数学】第十三届蓝桥杯省赛C++ A组/研究生组 Python A组/研究生组《数的拆分》(C++)

【题目描述】 给定 T 个正整数 &#xff0c;分别问每个 能否表示为 的形式&#xff0c;其中 , 为正整数&#xff0c;, 为大于等于 2 的正整数。 【输入格式】 输入第一行包含一个整数 T 表示询问次数。 接下来 T 行&#xff0c;每行包含一个正整数 。 【输出格式】 对于…

TF卡系统备份与还原

本文介绍一种用备份还原方法&#xff0c;快速实现TF启动卡制作&#xff0c;使用方便&#xff0c;无需安装linux系统&#xff0c;需要使用Diskgnius软件。 安装Diskgnius&#xff0c;64位绿色版本&#xff0c;无需安装&#xff0c;直接运行即可。运行Diskgnius软件&#xff0c;将…