Docker安装步骤笔记

一、环境准备

VM网络配置

  • 打开VMware软件 --编辑 --虚拟网络编辑器

二、VM创建虚拟机

 

三、安装rhel8.9操作系统

1、rhel8.9 镜像下载

  • 第一步:进入redhat官网进行注册
  • 第二步:下载rhel8.9镜像文件 https://access.redhat.com/downloads/content/rhel

 2、操作系统安装

  • 第一步:打开虚拟机设置,设置虚拟光驱指定镜像iso文件

  • 第二步:安装 :启动虚拟机,选择第一个安装

  • 安装语言,English  

  • 配置四个选项:  
    - 安装目的地:默认
    - 时区:亚洲 -上海
    - 软件选择:最小化安装
    - Root 密码: 123456

3、系统-网络配置

  • 第一步:网卡ip地址配置
    IP 10.0.0.2
    子网: 255.255.255.0
    网关: 10.0.0.254
编辑网卡配置文件
# vi /etc/sysconfig/network-scripts/网卡文件
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=网卡名称
DEVICE=网卡名称
ONBOOT=yes
IPADDR=10.0.0.2
NETMASK=255.255.255.0
GATEWAY=10.0.0.254重启网络管理服务
# systemctl restart NetworkManager
  • 第二步:系统dns配置 
# cat > /etc/resolv.conf << EOF
nameserver 223.5.5.5
nameserver 114.144.114.114
EOF验证
# ping www.baidu.com第三步:使用xshell工具远程连接
  • 第三步:使用xshell工具远程连接

四、系统-基本配置

1、禁用防火墙与SELinux 

关闭firewalld
# systemctl disable firewalld --now检查确认关闭
# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor
preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)关闭SELinux
# sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config验证
# grep SELINUX=disabled /etc/selinux/config
SELINUX=disabled命令行更改
# setenforce 0验证
# getenforce
Permissive

 2、设置主机名


[root@localhost ~]# hostnamectl set-hostname docker-a
[root@localhost ~]# bash
[root@docker-a ~]#

3、系统语言配置

[root@docker-a ~]# localectl set-locale LANG="en_US.UTF-8"
[root@docker-a ~]# echo 'export LANG=en_US.UTF-8' >> /etc/profile
检查确认
[root@docker-a ~]# echo $LANG
en_US.UTF-8

4、本地yum源仓库配置:

# rm -f /etc/yum.repos.d/*# cat >> /etc/yum.repos.d/local.repo <<EOF
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabled=1
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1
EOF# 挂载前,先确保CD/DVD是已连接状态
# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only# yum clean all && yum makecache开机自启
# echo '/dev/cdrom /mnt iso9660 loop 0 0' >> /etc/fstab

 

5、安装常用软件:

# yum install vim lrzsz tree nc telnet wget lsof chrony bash-completion tcpdump psmisc sysstat net-tools unzip -y

6、配置与阿里时钟服务器同步:

# cat > /etc/chrony.conf << EOF
# 把这一行代码加入即可server ntp.aliyun.com iburststratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
logchange 0.5
logdir /var/log/chrony
EOF启动chronyd服务
# systemctl enable chronyd --now
验证# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 203.107.6.88 2 6 37 8 +79us[ -123ms] +/- 33ms

 7、额外添加一块数据盘:10G

第一步:VM中虚拟机添加一块10G硬盘
重启虚拟机

 

# reboot
查看新添加的硬盘# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
├─rhel-root 253:0 0 37G 0 lvm /
└─rhel-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
sr0 11:0 1 12.6G 0 rom第二步:系统里格式化并挂载至/app
# mkfs.xfs /dev/sdb
# mkdir /app
# echo '/dev/sdb /app xfs defaults 0 0' >> /etc/fstab
# mount -a
# systemctl daemon-reload验证:确保已挂载
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 848M 0 848M 0% /dev
tmpfs 868M 0 868M 0% /dev/shm
tmpfs 868M 8.7M 859M 1% /run
tmpfs 868M 0 868M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 37G 2.1G 35G 6% /
/dev/sda1 1014M 229M 786M 23% /boot
tmpfs 174M 0 174M 0% /run/user/0
/dev/sdb 10G 104M 9.9G 2% /app

五、安装Docker

阿里镜像站: https://developer.aliyun.com/mirror/

1、关闭swap  

命令行关闭
# swapoff -a关闭开机自启
# 注释/etc/fstab中的swap行
# cat /etc/fstab
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=c2d190de-00f5-4c47-bded-7c4e71663caa /boot xfs
defaults 0 0# /dev/mapper/rhel-swap none swap defaults 0 0
/dev/sdb /app

2、 安装

卸载docker
# sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine安装必要的一些系统工具
# sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加阿里软件源信息
# sudo yum-config-manager --add-repo https://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
# sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+'
/etc/yum.repos.d/docker-ce.repo更新并安装Docker-CE
# sudo yum makecache
# sudo yum -y install docker-ce开启Docker服务,并设置自启
# sudo systemctl enable docker --now

3、 Docker验证

# docker version
Client: Docker Engine - Community
Version: 25.0.3
API version: 1.44
Go version: go1.21.6
Git commit: 4debf41
Built: Tue Feb 6 21:15:16 2024
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 25.0.3
API version: 1.44 (minimum version 1.24)
Go version: go1.21.6
Git commit: f417435
Built: Tue Feb 6 21:14:12 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.28
GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0

4、验证运行helloworld镜像

# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete
Digest: sha256:d000bc569937abbe195e20322a0bde6b2922d805332fd6d8a68b19f524b7d21d
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/

5、验证运行一个Ubuntu容器,并打印出当前系统时间

# docker run -it ubuntu bash

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

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

相关文章

Slim-Neck by GSConv

paper&#xff1a;Slim-neck by GSConv: A better design paradigm of detector architectures for autonomous vehicles official implementation&#xff1a;https://github.com/alanli1997/slim-neck-by-gsconv 背景 目标检测是计算机视觉中一个重要的下游任务。对于车载…

神经网络线性量化方法简介

可点此跳转看全篇 目录 神经网络量化量化的必要性量化方法简介线性对称量化线性非对称量化方法神经网络量化 量化的必要性 NetworkModel size (MB)GFLOPSAlexNet2330.7VGG-1652815.5VGG-1954819.6ResNet-50983.9ResNet-1011707.6ResNet-15223011.3GoogleNet271.6InceptionV38…

Singularity(五)| 容器挂载和环境

Singularity&#xff08;五&#xff09;| 容器挂载和环境 我们可以按照如下方式运行 Singularity 容器&#xff1a; singularity shell samtoolssingularity exec samtools samtools helpsingularity run samtoolssingularity exec instance://samtools 在我们逐个详解容器运行…

【智能算法】哈里斯鹰算法(HHO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.代码实现4.参考文献 1.背景 2019年&#xff0c;Heidari 等人受到哈里斯鹰捕食行为启发&#xff0c;提出了哈里斯鹰算法(Harris Hawk Optimization, HHO)。 2.算法原理 2.1算法思想 根据哈里斯鹰特性&#xff0c;HHO分为探索-…

【Android】 ClassLoader 知识点提炼

1.Java中的 ClassLoader 1.1 、ClassLoader的类型 Java 中的类加载器主要有两种类型&#xff0c;即系统类加载器和自定义类加载器。其中系统类 加载器包括3种&#xff0c;分别是 Bootstrap ClassLoader、Extensions ClassLoader 和 Application ClassLoader。 1.1.1.Bootstra…

鸿蒙原生应用元服务开发-WebGL网页图形库开发无着色器绘制2D图形

无着色器绘制2D图形 使用WebGL开发时&#xff0c;为保证界面图形显示效果&#xff0c;请使用真机运行。 此场景为未使用WebGL绘制的2D图形&#xff08;CPU绘制非GPU绘制&#xff09;。开发示例如下&#xff1a; 1.创建页面布局。index.hml示例如下&#xff1a; <div class…

算法学习---栈和队列算法学习

一、用栈去实现队列 1.整理思路 栈的特点&#xff1a;先进后出 队列的特点&#xff1a;先进先出 我们要用栈的先进后出&#xff0c;来模拟实现队列的先进后出。我们需要借助两个栈去实现&#xff0c;分别叫做栈1和栈2。 栈1主要是用来存储数据的&#xff0c;我们将要插入的数据…

树莓派Python环境配置:删除Python 2、默认使用Python 3及配置Python镜像源指南

树莓派Python环境配置&#xff1a;优化升级三部曲 文章目录 树莓派Python环境配置&#xff1a;优化升级三部曲前言一、查看系统预装的python版本二、卸载python2并默认python3三、删除默认python3.7并升级到python3.9四、更换树莓派上的pip系统镜像源一键更换清华源&#xff08…

LoadRunner学习:RuntimeSetting、参数化、关联、(unfinished

LoadRunner RuntimeSetting 运行时设置 在Vuser中设置Run-time Settings RunLogic&#xff1a;运行逻辑&#xff0c;决定了脚本真正执行逻辑&#xff0c; Init和End部分代码只能执行一次。决定脚本真正执行逻辑的意思是&#xff0c;在Run中的代码和Number of Iteration决定了…

灵魂指针,教给(三)

欢迎来到白刘的领域 Miracle_86.-CSDN博客 系列专栏 C语言知识 先赞后看&#xff0c;已成习惯 创作不易&#xff0c;多多支持&#xff01; 目录 一、 字符指针变量 二、数组指针变量 2.1 数组指针变量是什么 2.2 数组指针变量如何初始化 三、二维数组传参本质 四、函数…

Redis + Caffeine = 王炸!!

在高性能的服务架构设计中,缓存是一个不可或缺的环节。在实际的项目中,我们通常会将一些热点数据存储到Redis或MemCache这类缓存中间件中,只有当缓存的访问没有命中时再查询数据库。在提升访问速度的同时,也能降低数据库的压力。 随着不断的发展,这一架构也产生了改进,在…

Selenium控制已运行的Edge和Chrome浏览器(详细启动步骤和bug记录)

文章目录 前期准备1. 浏览器开启远程控制指令&#xff08;1&#xff09;Edge&#xff08;2&#xff09;Chrome 2. 执行python代码&#xff08;1&#xff09;先启动浏览器后执行代码&#xff08;2&#xff09;通过代码启动浏览器 3. 爬取效果3. 完整代码共享3.1 包含Excel部分的…

【数据结构】初识二叉搜索树(Binary Search Tree)

文章目录 1. 二叉搜索树的概念2. 二叉搜索树的操作1.1 二叉搜索树的查找1.2 二叉搜索树的插入1.3 二叉搜索树的删除 1. 二叉搜索树的概念 二叉搜索树又称二叉排序树&#xff0c;它可能是一棵空树&#xff0c;也可能是具有以下性质的二叉树&#xff1a; 若它的左子树不为空&am…

力扣L5----- 58. 最后一个单词的长度(2024年3月11日)

1.题目 2.知识点 注1&#xff1a; lastIndexOf()它用于查找指定字符或子字符串在当前字符串中最后一次出现的位置。它的作用是从字符串的末尾向前搜索指定字符或子字符串&#xff0c;并返回其最后一次出现的位置的索引。 &#xff08;1&#xff09;例如&#xff0c;在字符串 …

Rust入门:C++和Rust动态库(dll)的相互调用

无论是C调用Rust动态库还是Rust调用C动态库&#xff0c;其操作基本都是一样地简单&#xff0c;基本和C调用C的动态库没什么区别&#xff0c;只需要列出所需要导入的函数&#xff0c;并链接到相应的lib文件即可。 这里&#xff0c;在windows中&#xff0c;我们以dll动态库为例说…

OpenCV学习笔记(一)——Anaconda下载和OpenCV的下载

OpenCV是图象识别中有巨大的应用场景&#xff0c;本篇文章以Python为基础。当初学OpenCV的时候&#xff0c;推使用在Anaconda编写代码&#xff0c;原因比较方便&#xff0c;下面我们对于Anaconda的下载过程进行演示。 Anaconda的下载 首先打开官网www.anaconda.com/download找…

数据结构---C语言栈队列

知识点&#xff1a; 栈&#xff1a; 只允许在一端进行插入或删除操作的线性表&#xff0c;先进后出LIFO 类似一摞书&#xff0c;按顺序拿&#xff0c;先放的书只能最后拿&#xff1b; 顺序栈&#xff1a;栈的顺序存储 typedef struct{Elemtype data[50];int top; }SqStack; SqS…

设计模式-行为型模式-模版方法模式

模板方法模式&#xff0c;定义一个操作中的算法的骨架&#xff0c;而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。[DP] 模板方法模式是通过把不变行为搬移到超类&#xff0c;去除子类中的重复代码来体现它的优势。 //首…

【Leetcode每日一题】 位运算 - 面试题 01.01. 判定字符是否唯一(难度⭐)(33)

1.题目解析 题目链接&#xff1a;面试题 01.01. 判定字符是否唯一 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 核心在于判断题目所给字符串是否存在相同字母&#xff0c;存在返回false即可&#xff0c;不存在返回true即可。 …

Caffeine缓存

本地缓存基于本地环境的内存&#xff0c;访问速度非常快&#xff0c;对于一些变更频率低、实时性要求低的数据&#xff0c;可以放在本地缓存中&#xff0c;提升访问速度 使用本地缓存能够减少和Redis类的远程缓存间的数据交互&#xff0c;减少网络 I/O 开销&#xff0c;降低这…