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 iburst

stratumweight 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

南昌云宸网络发展有限公司-小分类客户可自选

南昌云辰网络发展有限公司是华东地区最大的互联网公司。 公司业务涉及互联网营销策划、移动互联网、物联网、广告传媒、微电影、***等&#xff0c;依托以互联网技术为核心的B2B企业贸易平台和O2O电子商务平台&#xff0c;提供为用户提供一站式网络营销策划和解决方案。 &#…

JMeter使用记录

文章目录 概述从0创建一个测试场景线程组配置元件CSV Data Set ConfigHTTP信息头管理器HTTP Cookie管理器HTTP请求默认值 逻辑控制器简单控制器IF控制器循环控制器while控制器 取样器HTTP取样 前置/后置处理器BeanShell处理器JSR223处理器 监听器查看结果树聚合报告汇总报告 概…

sqllab第二关通关笔记

知识点整理&#xff1a; 数值型注入判断手法 1/1 1/0 回显不同错误注入函数 extractvalue(xml_flag,xpath) xml_flag&#xff1a;文件表示符xpath&#xff1a;文件路径&#xff1b;不能识别‘~’ ‘#’ 等特殊字符&#xff1b;遇到就报错并打印xpath内容~(十六进制表示)&#…

Linux环境下,QtCreator运行不起来

文章目录 一、qtcreator运行不起来二、错误信息三、下载libxcb-cursor四、安装 一、qtcreator运行不起来 直接点击qtcreator运行不起来 然后再命令行界面下&#xff0c; 进入到qtcreator所在的目录&#xff1a; cd /opt/Qt/Tools/QtCreator/bin 运行程序&#xff1a;./qtcr…

模拟电子技术实验(二)

单选题 1. 本实验的实验目的中&#xff0c;输出电阻测量是第几个目的&#xff1f; A. 1个。 B. 2个。 C. 3个。 D. 4个。 答案&#xff1a;C 评语&#xff1a;10分 单选题 2.本实验电路有一个元件参数有问题&#xff0c;需要修改&#xff1f; A. …

一文看明白Transformer微调过程中嵌入向量的变化

TL&#xff1b;DR 微调在图像分类中显著影响嵌入向量。微调前的嵌入向量提供通用性表征&#xff0c;而微调后的嵌入向量捕获任务特定的特征。这种区别可能导致在异常检测和其他任务中的不同结果。微调前和微调后的嵌入向量各有其独特优势&#xff0c;应结合使用以实现图像分类…

OceanBase原理之内存管理

第1章 前言 1.1 多租户管理简介 OceanBase数据库中&#xff0c;应用了单集群多租户的设计&#xff0c;使得一个集群内能够创建多个彼此独立的租户。在OceanBase数据库&#xff0c;租户成为了资源分配的单位&#xff0c;同时还是数据库对象管理和资源管理的基础。 在某种程度…

k8s的pod和svc相互访问时网络链路解析

k8s的pod和svc相互访问时网络链路解析 1. k8s环境中pod相互访问1.1. k8s中pod相互访问的整体流程1.2. k8s的相同机器的不同pod相互访问1.3. k8s的不同机器的不同pod相互访问 3. k8s访问svc3.1 nat操作3.2 流量进入到后端pod 4. 疑问和思考4.1 访问pod相互访问为什么不用做nat?…

03.JavaScript中的数组

数组 知道什么是数组及其应用的场景&#xff0c;掌握数组声明及访问的语法。 数组是什么&#xff1f; 数组&#xff1a;(Array)是一种可以按顺序保存数据的数据类型 **使用场景&#xff1a;**如果有多个数据可以用数组保存起来&#xff0c;然后放到一个变量中&#xff0c;管理…

前端基础篇-深入了解用 HTML 与 CSS 实现正文排版、正文布局

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 HTML 与 CSS 概述 2.0 HTML - 正文排版 2.1 视频标签 2.2 音频标签 2.3 段落标签 2.4 文本加粗标签 2.5 换行标签 2.6 CSS 样式 2.7 实现正文排版 3.0 HTML - …

2024年A特种设备相关管理(锅炉压力容器压力管道)证考试题库及A特种设备相关管理(锅炉压力容器压力管道)试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年A特种设备相关管理&#xff08;锅炉压力容器压力管道&#xff09;证考试题库及A特种设备相关管理&#xff08;锅炉压力容器压力管道&#xff09;试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#…

Android中ANR机制

Android中的ANR分为两种&#xff0c;前台ANR和后台ANR。 前台ANR&#xff0c;是指ANR时对用户可感知&#xff0c;比如拥有当前前台可见的activity的进程&#xff0c;或者拥有前台通知的fg-service的进程&#xff0c;这些是用户可感知的场景。前台ANR&#xff0c;会出现一个系统…

linux命令深入研究——vim

vim可以对指定文件内容进行编辑&#xff0c;同时其操作还有一些快捷方式&#xff0c;常用的有如下部分

TypeScript编译选项

编译单个文件&#xff1a;终端 tsc 文件名 自动编译单个文件&#xff1a;终端 tsc 文件名 -w 编译整个项目&#xff1a;tsc 前提是得有ts的配置文件tsconfig.json 自动编译整个项目&#xff1a;tsc --w tsconfig.json默认文件内容&#xff1a; tsconfig.json是ts编译器的配…

<商务世界>《第10课 招投标的多种形式》

1 公开招标 1.1 什么是公开招标 《招投标法》第十条第二款规定:“公开招标是指招标人以招标公告的方式邀请不特定的法人或者其他组织投标。”也就是说,所有公开招标的项目都必须在公共平台发布招标信息,符合条件的供应商均可以参与投标。 公开招标的采购方式,因为投标人较…

面向对象【static关键字】

文章目录 Java中的static关键字1. 静态变量2. 静态方法的特点3. 静态块4. 静态导入5. 单例模式中的应用 Java中的static关键字 在Java中&#xff0c;static是一个关键字&#xff0c;用于定义类级别的成员&#xff0c;这些成员与类的实例无关。static成员属于类而不是类的实例&…

刷题日记——01字符串、非素数个数(厦门大学机试)

题目1——01字符串 分析 经过拆解找规律&#xff0c;发现是两个斐波那契 那么代码就好写了呀 #include <stdio.h>unsigned long long f(int n){if(n0||n1){return n;}return (f(n-1)f(n-2))%2333333; }int main(){int n;scanf("%d",&n);printf("%…

sqllab第六关通关笔记

知识点&#xff1a; 报错注入回顾原始语句测试截取函数 mid(字符串&#xff0c;起始位置&#xff0c;长度)substr(字符串&#xff0c;起始位置&#xff0c;长度)left(字符串&#xff0c;长度)right(字符串&#xff0c;长度)加入截取控制的错误注入payload payload:id1"%2…

深度学习(十一):YOLOv9之最新的目标检测器解读

YOLOv9 1.YOLOv9:物体检测技术的飞跃发展1.1 YOLOv9 简介1.2YOLOv9 的核心创新1.2.1信息瓶颈:神经网络在抽取相关性时的理论边界1.2.2可逆函数:保留完整的信息流1.2.3对轻型模型的影响&#xff1a;解决信息丢失1.2.4可编程梯度信息 (PGI)&#xff1a;解决信息瓶颈1.2.5通用高效…

掘根宝典之C++迭代器简介

在C中&#xff0c;容器是一种用于存储和管理数据的数据结构。C标准库提供了多种容器&#xff0c;每种容器都有其独特的特点和适用场景。 我们知道啊&#xff0c;我们可以通过下标运算符来对容器内的元素进行访问&#xff0c;但是只有少数几种容器才同时支持下标运算符&#xf…