Linux安装Docker完整教程(建议收藏备用)

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)
exit 从容器中退出 快捷键不是ctrl+c  而是 ctrl+D

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后部署java项目

5.1 部署java项目,首先要有jdk依赖
docker search java

image-20240327165545982
安装jdk依赖

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 exec -it”命令进入
使用“docker attach”命令进入container(容器)有一个缺点,那就是每次从container中退出到前台时,container也跟着退出了。

docker attach d2

要想退出container时,让container仍然在后台运行着,可以使用“docker exec -it”命令。每次使用这个命令进入container,当退出container后,container仍然在后台运行,命令使用方法如下:

docker exec -it d2 /bin/bash

其中的 “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社区版,以及安装JDK依赖,介绍了如何启动docker、拉取镜像、运行容器及docker的常见命令。

记录一次完整安装和解决安装docker的问题,如果觉得文章帮助到你了,建议转发、收藏,以备不时之需。

版权所有,可以转载,留下转载链接就好.

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值