Docker安装步骤笔记

news2025/1/10 2:00:10

一、环境准备

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

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

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

相关文章

Pytorch搭建AlexNet 预测实现

1.导包 import torch import matplotlib.pyplot as plt import json from model import AlexNet from PIL import Image from torchvision import transforms 2.数据预处理 data_transform transforms.Compose([transforms.Resize((224, 224)), # 将图片重新裁剪transform…

JDBC连接Mysql(executeQuely)3/13

resultset-->executeQuery import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement;public class Demo3 {public static void main(String[] args) throws Exception {//1.注册驱动Class.forName("com.mys…

【Java,Redis】Redis 数据库存取字符串数据以及类数据

1、 字符串存取数据 Resource private StringRedisTemplate stringRedisTemplate;//从Redis中获取string字符串 stringRedisTemplate.opsForValue().get("cache:shop:"id); //Json -> class Shop shop JSONUtil.toBean(ShopJson,Shop.class); //字符串写入redis…

C# Stopwatch计算代码运行时间

文章目录 前言一、计算范围时间1、起始位置2、结束位置3、获取时间封装成对象&#xff08;1&#xff09;、完整代码&#xff08;2&#xff09;、使用示例 二、计算检查点时间1、初始化2、检查点封装成对象&#xff08;1&#xff09;、完整代码&#xff08;2&#xff09;、使用示…

SQL Server错误:15404

执行维护计划失败&#xff0c;提示SQL Server Error 15404 无法获取有关... 异常如下图&#xff1a; 原因&#xff1a;数据库用户名与计算机名称不一致 解决办法&#xff1a;1.重名称数据库用户名 将前缀改成计算机名 2.重启SQL Server代理

C++Qt学习——不用UI文件编程

在创建文件的时候不要选中Generate form这块 创建的文件如下图所示&#xff0c;比起之前的没有了form这一快 1、在mainwindow.h里面声明按钮对象 2、在mainwindow.cpp里实例化按钮 2.1、方法一 pushButton new QPushButton();pushButton->show(); 但是发现显示是分离的 2…

保研复习数据结构记(8)--排序

一.内部排序 1.概念 什么是排序&#xff1f;是将一个任意排列的记录或者是数据元素&#xff0c;排列成按关键字有序的序列什么是排序方法是稳定的&#xff1f;按照关键字排序的kikj&#xff0c;在排序之后&#xff0c;两个关键字相等的记录的顺序与排序之前相同&#xff0c;若…

ubuntu2004桌面系统英伟达显卡驱动安装方法

#如何查看显卡型号 lspci | grep -i vga#----output------ 01:00.0 VGA compatible controller: NVIDIA Corporation Device 1f06 (rev a1)根据 Device 后的 值 进入网站查询 pci-ids.ucw.cz/mods/PC/10de?actionhelp?helppci #根据显卡型号&#xff0c;下载对应系统的驱动…

Linux 硬件时间(RTC time)、系统时间(UTC时间、Universal time)、本地时间(Local time)、时区(Time zone)与夏令时(DST)解析

文章目录 理解时间&#xff1a;硬件时间、系统时间&#xff08;UTC时间&#xff09;、本地时间、时区与夏令时1. 硬件时间&#xff08;RTC time&#xff09;1.1 硬件时间简介1.2 如何使用硬件时间 2. 系统时间&#xff08;UTC时间&#xff09;&#xff08;Universal time&#…

TSINGSEE青犀煤矿矿井视频监控与汇聚融合管理视频监管平台建设方案

一、背景需求 随着我国经济的飞速发展&#xff0c;煤炭作为我国的主要能源之一&#xff0c;其开采和利用的重要性不言而喻。然而&#xff0c;煤矿事故频发&#xff0c;不仅造成了巨大的人员伤亡和财产损失&#xff0c;也对社会产生了深远的负面影响。视频监控系统作为实现煤矿智…

普发Pfeiffer OmniStar/ThermoStar GSD300/GSS300内部电路图装配安装3D图原理图电路板电路图详情内容看图片目录

普发Pfeiffer OmniStar/ThermoStar GSD300/GSS300内部电路图装配安装3D图原理图电路板电路图详情内容看图片目录

【考研】高等数学总结

文章目录 第一章 极限 函数 连续1.1 极限存在准则及两个重要极限1.1.1 夹逼定理1.1.1.1 数列夹逼定理1.1.1.2函数夹逼定理 1.1.2 两个重要极限1.1.2.1 极限公式11.1.2.1.1 证明1.1.2.1.2 数列的单调有界收敛准则1.1.2.1.2.1 二项式定理1.1.2.1.2.2 证明 1.1.2.2 极限公式21.1.2…

在Linux/Ubuntu/Debian中设置字体

下载字体。 下载你喜欢的字体&#xff0c;双击并安装。 之后更新字体缓存&#xff1a; fc-cache -f -v安装 GNOME 调整。 GNOME Tweaks 是一个工具&#xff0c;允许你自定义 GNOME 桌面环境的各个方面&#xff0c;包括字体。 如果你还没有安装 GNOME Tweaks&#xff1a; …

pytorch之诗词生成--2

先上代码: # -*- coding: utf-8 -*- # File : dataset.py # Author : AaronJny # Time : 2019/12/30 # Desc : 构建数据集 from collections import Counter import math import numpy as np import tensorflow as tf import settingsclass Tokenizer:""&…

MIT 6.S081---Lab: locks

Memory allocator (moderate) 修改kernel/kalloc.c&#xff0c;修改kmem声明并定义结构体数组&#xff1a; 修改kernel/kalloc.c中的kinit函数&#xff0c;对kmemList进行初始化&#xff1a; 修改kernel/kalloc.c中的kfree函数&#xff0c;获取当前的cpuid并将释放的内存添加到…

互联网架构与通信机制:从边缘到核心的深度解析

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

vscode使用npm命令无反应,而终端可以的解决办法

如若你遇到这种情况 使用命令 get-command npm 去下面这个路径把它删掉就可以了

MyBatis拦截器四种类型和自定义拦截器的使用流程

文章目录 MyBatis拦截器四种类型和自定义拦截器的使用流程一、MyBatis拦截器四种类型的详细解释&#xff1a;1. **ParameterHandler 拦截器**&#xff1a;2. **ResultSetHandler 拦截器**&#xff1a;3. **StatementHandler 拦截器**&#xff1a;4. **Interceptor Chain 拦截器…

24-Java策略模式 ( Strategy Pattern )

Java策略模式 摘要实现范例 策略模式的重心不是如何实现算法&#xff0c;而是如何组织、调用这些算法&#xff0c;从而让程序结构更加灵活&#xff0c;具有更好的维护性和扩展性。 策略模式属于行为型模式 摘要 1. 意图 针对一组算法&#xff0c;将每一个算法封装到具有共…

基于Springboot的代驾管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的代驾管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…