首页 > 系统相关 >Docker学习笔记(二):在Linux中部署Docker(Centos7下安装docker、环境配置,以及镜像简单使用)

Docker学习笔记(二):在Linux中部署Docker(Centos7下安装docker、环境配置,以及镜像简单使用)

时间:2024-04-06 15:59:14浏览次数:30  
标签:Linux ce hello Centos7 world 镜像 Docker docker

一、前言

记录时间 [2024-4-6]


前置文章:Docker学习笔记(一):入门篇,Docker概述、基本组成等,对Docker有一个初步的认识

在上文中,笔者进行了Docker概述,介绍其历史、优势、作用,以及基本组成。通过此,相信大家对Docker有了一个初步的认识。接下来就进入Docker的安装、环境配置,和简单使用了。

文章为零基础学习Docker做了一些准备:

  • Docker学习视频(狂神说系列)
  • Docker官方文档(官方文档超级详细)
  • Docker远程仓库(相当于镜像商店)
  • Docker参考笔记(一篇实用型Docker笔记)
  • Linux云服务器/虚拟机(文章中使用了阿里云服务器,虚拟机可以使用VMware软件创建,创建教程后续补上)
  • FinalShell远程连接工具(下载地址,选择Windows版本,安装就默认步骤,如果提示安装WinPcap那就装一下咯)

二、Docker 安装前准备

1. 安装 Centos7 系统


将服务器/虚拟机的操作系统设置成Centos7,注意版本选择7,查文档可知CentOS 7Docker Engine安装所需要的。

在这里插入图片描述


版本选择完毕后,设置远程连接,选择root权限连接,即Workbench密码登录(初次使用要设置下密码)。这一步主要是为后面连接FinalShell做准备。

虚拟机可以连接FinalShell,也可以在VMware软件中直接运行操作。


2. 连接 FinalShell


启动FinalShell,点击新标签页左侧的文件夹标识,再选择白色文件夹,新建SSH连接。

在这里插入图片描述


在新建SSH连接界面,输入主机IP,即服务器/虚拟机的IP地址,服务器IP地址选公网,虚拟机启动后输入如下命令查看。

ip addr show

然后输入用户名和密码,点击确定。然后快速连接即可。

在这里插入图片描述


3. 系统环境查看


查看系统内核:

uname -r

结果如下:

# 系统内核是 3.10 以上
[root@hostname ~]# uname -r
3.10.0-957.21.3.el7.x86_64

查看系统版本:

cat /etc/os-release

结果如下:

# 系统版本
[root@hostname ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

三、Docker 安装和配置

1. 卸载旧版本


如果之前安装过旧版本Docker的话,先进行卸载:

注意:命令中的斜杠\是在一条命令没写完但是要进行换行情况下使用,如果命令写在同一行就不需要斜杠。

yum remove docker \
           docker-client \
           docker-client-latest \
           docker-common \
           docker-latest \
           docker-latest-logrotate \
           docker-logrotate \
           docker-engine

2. 通过仓库安装

Install using the rpm repository.

下载需要的安装包

yum install -y yum-utils

设置镜像仓库

官方仓库如下:(不推荐,下载东西超级慢)

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

设置阿里云镜像:(推荐)

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

更新 yum 索引

yum makecache fast

安装 Docker

最新版:

# docker-ce 社区版   ee 企业版
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

如果想要安装其他版本,就附带版本号VERSION_STRING

yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin

3. 启动 Docker

systemctl start docker

4. 查看 Docker 版本

docker version

使用docker version查看是否安装成功

[root@hostname ~]# docker version
Client: Docker Engine - Community
 Version:           26.0.0
 API version:       1.45
 Go version:        go1.21.8
 ...

Server: Docker Engine - Community
 Engine:
  Version:          26.0.0
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.8
  ...

5. 卸载 Docker(了解)

# 1. 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

# 2. 删除资源
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

# /var/lib/docker 为 docker 的默认工作路径

6. 阿里云镜像加速(非必要)


这一步推荐安装1.10.0以上版本的Docker客户端使用。可以更快地下载镜像。

登录阿里云,选择容器镜像服务,找到镜像加速器,根据文档配置即可。

在这里插入图片描述


# registry-mirrors 中写入加速器地址,每个人的都不一样

# 1. 打开配置文件目录
sudo mkdir -p /etc/docker

# 2. 编辑配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://......"]
}
EOF

# 3. 重启服务
sudo systemctl daemon-reload

# 4. 重启 Docker
sudo systemctl restart docker

四、简单测试 hello-world

1. 具体操作


测试命令:

docker run hello-world

我们来观察一下hello-world的实现过程:

[root@hostname ~]# docker run hello-world

# 1. 本地没找到 hello-world 镜像
Unable to find image 'hello-world:latest' locally

# 2. 远程仓库拉取 hello-world 镜像
latest: Pulling from library/hello-world

# 3. 签名信息:拉取完成
2db29710123e: Pull complete 
Digest: sha256:2498fce14358aa50ead0cc6c19990fc6ff866ce72aeb5546e1d59caac3d0d60f
Status: Downloaded newer image for hello-world:latest

# 4. 运行 hello-world 成功
Hello from Docker!
This message shows that your installation appears to be working correctly.

2. 查看镜像


查看hello-world镜像:

docker images

结果如下:

[root@hostname ~]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED       SIZE
hello-world           latest    feb5d9fea6a5   2 years ago   13.3kB

五、镜像运行流程


在这里插入图片描述


六、Docker 底层原理


Docker如何工作?

  • 如图,Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,客户端通过Socket访问。
  • Docker-Server接收到Docker-Client的指令,就会执行这个命令。

在这里插入图片描述


七、总结


本文讲述了LinuxDocker的安装、环境配置,和简单使用。还介绍了镜像运行流程和Docker底层原理,讲述了Centos7系统镜像的设置,讲述了FinalShell远程连接云服务器/虚拟机的方式。接下来是关于Docker使用的基本命令。


一些参考资料

狂神说系列Docker教程:https://www.bilibili.com/video/BV1og4y1q7M4/
Docker参考笔记:https://blog.csdn.net/qq_58141314/article/details/131020932
Docker官网:https://www.docker.com/
Docker官方文档:https://docs.docker.com/engine/install/centos/
Docker远程仓库:https://hub.docker.com/
FinalShell下载:http://www.hostbuf.com/t/988.html
阿里云网址:https://www.aliyun.com/

标签:Linux,ce,hello,Centos7,world,镜像,Docker,docker
From: https://blog.csdn.net/Sareur_1879/article/details/137428999

相关文章

  • 在Linux服务器上运行springBoot项目!
    今天闲的无聊,写了一个定时发送邮件到指定邮箱的一个小项目,因为写的很粗糙,这里就不展示代码了,主要记录一下用到的技术:1.JavaMail2.Spring-Task3.在Linux上运行一、JavaMail:JavaMail是sun公司(现以被甲骨文收购)为方便Java开发人员在应用程序中实现邮件发送和接收功能而提......
  • Linux查看日志的几种方法
    最常用查看日志方法:·实时日志:tail-fXXX.log·搜索关键字附近日志:cat-nfilename|grep"关键字"查看日志常用命令:tail:-n是显示行号;相当于nl命令;例子如下:tail-100ftest.log实时监控100行日志tail-n10test.log查询......
  • linux - GPG 非对称加密工具
    GNUPrivacyGuard(GPG)是一种主要设计用于使用公钥加密技术对数据进行加密和签名的工具。然而,它还包含仅使用用户提供的密码来加密数据的能力,并且支持多种加密算法。1.查看gpg支持的算法gpg--version2.生成密钥#使用默认选择gpg--generate-key#更灵活的算法选择g......
  • linux文件权限管理1
    id+用户名可以查看用户详细信息这里第一个rw-代表属主对应权限,可读可写,第二个r--代表属组权限,即可读,第三个r--代表其他人,后面第一个root代表用户,第二个root代表用户组开头的-代表为普通文件,其他类型还有l软链接,d文件夹 在这里,我们创建了try.sh文件,并且在执行过程中发现没......
  • Linux的安装及Xshell连接
    1.Linux的组成鸡蛋1️⃣蛋壳:各种命令,服务,软件.2️⃣蛋清:命令解释器(解释运行Linux命令)3️⃣蛋黄:Linux内核(控制硬件),无法直接操做内核1️⃣各种应用程序:Linux各种命令,服务....2️⃣命令解释器:shell,斯托曼GNU项目中叫bash3️⃣Linux内核:托沃兹开发#Linux也可以叫做GNU/Linux、......
  • 用Docker搭建DNS服务器
    摘要用bind9的映像搭建DNSDocker-compose文件说明如下:privileged是为了在webmin中更新软件;映射67的udp端口是为了在webmin中安装DHCP服务。version:'2'services:bind:image:sameersbn/bind:9.16.1-20200524container_name:dnsdns:127.......
  • Linux v4l2子系统(一):概述
     本文从硬件框架、软件框架、Buildroot配置、相关源码、创建Video设备及其关系图,来对整个RK3588VI有所了解。1RK3588VI硬件框架RK3588的VI(VideoInput)硬件框架包括如下部分:外部MIPI/LVDS/DVPCamera采集数据,最对支持7路输入(6MIPI+1DVP)。MIPI接口:CSI-2是MIPI针......
  • Docker 部署war
    要在Docker中部署一个WAR文件到Tomcat服务器,你可以遵循以下步骤。这个过程包括创建一个自定义的Docker镜像,该镜像基于官方的Tomcat镜像,并在此基础上添加你的WAR文件。然后,你可以运行这个自定义镜像来启动一个容器,其中运行着Tomcat服务器和你的Web应用。步骤1:准备你的WAR文件......
  • Linux下载编译ntfs-3g、安装移植、挂载ntfs格式的U盘
    目录前言1、NTFS-3G 简要说明2、NTFS-3G工具安装2.1离线下载ntfs-3g2.2在线下载ntfs-3g(推荐优先) 2.3解压安装ntfs-3g3、NTFS-3G工具移植到文件系统(rootfs)4、NTFS-3G工具挂载 4.1 查看U盘盘符4.2 U盘挂载 5、NTFS-3G源码编译报错问题记录5.1问题1:参......
  • Linux初学(十二)AWK进阶
    一、AWK1.1简介AWK是Linux中重要的文本处理工具Linux三剑客只一处理的对象可以是一个具体的文件,也可以是一个命令的执行结果AWK按行读取文件,将每一行视为一条记录案例一:获取系统中每个用户的uid方法一:cat/etc/passwd|awk-F":"'{print$3}'方法二:awk-F":"'{pr......