当前位置: 首页 > news >正文

【Docker】01 Docker安装与配置


文章目录

  • 一、Docker
  • 二、离线安装Docker
  • 三、联网安装Docker
    • 3.1 下载YUM软件库文件
    • 3.2 安装epel-release
    • 3.3 安装yum-utils
    • 3.4 设置镜像仓库
    • 3.5 查看docker-ce所有版本
    • 3.6 安装Docker
    • 3.7 启动Docker
    • 3.8 查看Docker信息
    • 3.9 启动第一个容器
  • 四、一些配置
    • 4.1 登录DockerHub
    • 4.2 镜像加速器


一、Docker

Docker,基于容器技术的轻量级虚拟化解决方案。
Docker是容器引擎,把Linux的cgroup、namespace等容器底层技术进行封装抽象,为用户提供了创建和管理容器的便捷界面(包括命令行和API)。

概念:镜像Image,容器Container,仓库Repository:

  • Docker镜像,是一个静态模板,不能直接修改,可以通过封装生成
  • Docker容器,基于Docker镜像运行启动的应用或系统
  • Docker仓库,存放Docker镜像的地方,常见分为公开仓库(public)和私有仓库(private)两种形式

二、离线安装Docker

Docker官网离线安装文档:Install daemon and client binaries on Linux

安装步骤:
1)官网下载Docker安装包:Index of linux/static/stable/x86_64/ 选取相应版本,这边选了docker-20.10.9.tgz
2)解压到/usr/bin/

[root@localhost ~]# tar -xzvf docker-20.10.9.tgz 
docker/
docker/containerd-shim-runc-v2
docker/dockerd
docker/docker-proxy
docker/ctr
docker/docker
docker/runc
docker/containerd-shim
docker/docker-init
docker/containerd
[root@localhost ~]# ls
anaconda-ks.cfg  docker  docker-20.10.9.tgz
[root@localhost ~]# ls docker
containerd       containerd-shim-runc-v2  docker   docker-init   runc
containerd-shim  ctr                      dockerd  docker-proxy
[root@localhost ~]# mv docker/* /usr/bin/

3)启动服务

[root@localhost ~]# dockerd &
[1] 1673
[root@localhost ~]# INFO[2024-01-05T17:11:32.398698200+08:00] Starting up                                  
WARN[2024-01-05T17:11:32.403021500+08:00] could not change group /var/run/docker.sock to docker: group docker not found 
INFO[2024-01-05T17:11:32.406919900+08:00] libcontainerd: started new containerd process  pid=1678
INFO[2024-01-05T17:11:32.406979400+08:00] parsed scheme: "unix"                         module=grpc
INFO[2024-01-05T17:11:32.406991700+08:00] scheme "unix" not registered, fallback to default scheme  module=grpc
...
...[root@localhost ~]# ps -ef | grep docker | grep -v grep
root      1673  1625  0 17:11 pts/0    00:00:00 dockerd
root      1678  1673  0 17:11 ?        00:00:00 containerd --config /var/run/docker/containerd/containerd.toml --log-level info

4)验证

[root@localhost ~]# docker info
Client:Context:    defaultDebug Mode: falseServer:Containers: 0Running: 0Paused: 0Stopped: 0Images: 0Server Version: 20.10.9Storage Driver: overlay2Backing Filesystem: xfsSupports d_type: trueNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: cgroupfsCgroup Version: 1Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslogSwarm: inactiveRuntimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runcDefault Runtime: runcInit Binary: docker-initcontainerd version: 5b46e404f6b9f661a205e28d59c982d3634148f8runc version: v1.0.2-0-g52b36a2dinit version: de40ad0Security Options:seccompProfile: defaultKernel Version: 3.10.0-862.el7.x86_64Operating System: CentOS Linux 7 (Core)OSType: linuxArchitecture: x86_64CPUs: 1Total Memory: 509.6MiBName: localhost.localdomainID: VM36:UOEO:67ST:Y2EU:RVE6:TC37:SZ6W:UNND:PF22:CWT2:FWYG:XZMADocker Root Dir: /var/lib/dockerDebug Mode: falseRegistry: https://index.docker.io/v1/Labels:Experimental: falseInsecure Registries:127.0.0.0/8Live Restore Enabled: falseProduct License: Community Engine

5)注册服务
kill掉前面手动启动的docker服务,
/usr/lib/systemd/system/目录下创建docker.service文件并添加内容:

[root@localhost ~]# vi /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s[Install]
WantedBy=multi-user.target

重新加载

[root@localhost ~]# systemctl daemon-reload

服务的相关操作:

[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl stop docker
[root@localhost ~]# systemctl status docker
[root@localhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

此时就可通过systemctl来启停Docker服务了。

三、联网安装Docker

3.1 下载YUM软件库文件

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.2 安装epel-release

yum install epel-release -y

3.3 安装yum-utils

在配置国内镜像仓库时,会遇到如下报错,此时就需要安装yum-utils

[root@server ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-bash: yum-config-manager: command not found
yum install yum-utils -y

3.4 设置镜像仓库

设置镜像仓库,这边使用国内的阿里云镜像仓库:

[root@server ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

3.5 查看docker-ce所有版本

[root@server ~]# yum list docker-ce --show-duplicates
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.nju.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
docker-ce-stable                                                           | 3.5 kB  00:00:00     
(1/2): docker-ce-stable/7/x86_64/updateinfo                                |   55 B  00:00:00     
(2/2): docker-ce-stable/7/x86_64/primary_db                                |  62 kB  00:00:00     
Available Packages
docker-ce.x86_64                     17.03.0.ce-1.el7.centos                      docker-ce-stable
docker-ce.x86_64                     17.03.1.ce-1.el7.centos                      docker-ce-stable
docker-ce.x86_64                     17.03.2.ce-1.el7.centos                      docker-ce-stable
docker-ce.x86_64                     17.03.3.ce-1.el7                             docker-ce-stable
docker-ce.x86_64                     17.06.0.ce-1.el7.centos                      docker-ce-stable
docker-ce.x86_64                     17.06.1.ce-1.el7.centos                      docker-ce-stable
docker-ce.x86_64                     17.06.2.ce-1.el7.centos                      docker-ce-stable

3.6 安装Docker

[root@server ~]# yum install docker-ce

3.7 启动Docker

[root@server ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@server ~]# systemctl start docker
[root@server ~]#

3.8 查看Docker信息

[root@server ~]# docker info
Client:
Context:    default
Debug Mode: false
Plugins:app: Docker App (Docker Inc., v0.9.1-beta3)buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)scan: Docker Scan (Docker Inc., v0.8.0)Server:
Containers: 0Running: 0Paused: 0Stopped: 0
Images: 0
Server Version: 20.10.7
Storage Driver: overlay2Backing Filesystem: xfsSupports d_type: trueNative Overlay Diff: trueuserxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
...
# 安装完成后docker自动创建了docker组,为安全起见,将当前登录用户追加入到该组中
[root@server~ ]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@server~ ]# usermod -aG docker $USER
[root@server~ ]# id root
uid=0(root) gid=0(root) groups=0(root),993(docker)

3.9 启动第一个容器

[root@server ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete 
Digest: sha256:ac69084025c660510933cca701f615283cdbb3aa0963188770b54c31c8962493
Status: Downloaded newer image for hello-world:latestHello 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 theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare 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/

四、一些配置

4.1 登录DockerHub

访问https://hub.docker.com/,先注册个账号,
之后在本地端登录:

[root@server ~]# docker login docker.io
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: asdfv1929
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded
[root@server ~]#

登录完成后,此时便可拉取Docker Hub上自己仓库里的镜像。

4.2 镜像加速器

[root@server ~]# vi /etc/docker/daemon.json
{"registry-mirrors": ["http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}[root@server ~]# systemctl daemon-reload
[root@server ~]# systemctl restart docker

ustc的链接已失效


相关文章:

【Docker】01 Docker安装与配置

文章目录 一、Docker二、离线安装Docker三、联网安装Docker3.1 下载YUM软件库文件3.2 安装epel-release3.3 安装yum-utils3.4 设置镜像仓库3.5 查看docker-ce所有版本3.6 安装Docker3.7 启动Docker3.8 查看Docker信息3.9 启动第一个容器 四、一些配置4.1 登录DockerHub4.2 镜像…...

Unity3d Shader篇(六)— BlinnPhong高光反射着色器

文章目录 前言一、BlinnPhong高光反射着色器是什么?1. BlinnPhong高光反射着色器的工作原理2. BlinnPhong高光反射着色器的优缺点优点缺点 3. 公式 二、使用步骤1. Shader 属性定义2. SubShader 设置3. 渲染 Pass4. 定义结构体和顶点着色器函数5. 片元着色器函数 三…...

Go-zero微服务个人探究之路(十二)定时任务的选择调研

前言 很多时候后台需要做定时任务的需求,笔者的项目采用go-zero框架微服务框架,需要做定时任务,于是做了如下方法调研,共有大概三种主要选择 方案 难度总体由容易到复杂 go的timer库 通过Go的标准库time中的Ticker和Tick功能…...

Java中,List、Map和Set的区别是什么?

在Java中,List、Map和Set是三种常用的集合类型,它们之间的主要区别如下: 1、List List是有序集合,它可以包含重复元素。 List中的元素是按照插入顺序排列的,可以通过索引访问每个元素。 Java中常见的List实现类有A…...

Google刚刚推出了图神经网络Tensorflow-GNN

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

链表基础知识汇总

链表 链表是一种基本的数据结构,是由一系列节点组成的集合。每个节点包含两个部分:值和指向下一个节点的指针。链表中的节点可以动态地添加、删除,其大小可以根据需要进行扩展或缩小。 链表通常用于处理不固定长度的数据结构,具有…...

Educational Codeforces Round 2(远古edu计划)

A. 恶心模拟。。 模拟一下分类即可 数字类&#xff0c;数字0&#xff0c;或者都是数字 字母类&#xff0c;字母空的也是字母&#xff0c;有字母就是字母 #include<bits/stdc.h> #define INF 1e9 using namespace std; typedef long long ll; const int N2e59; strin…...

【Tauri】(1):使用Tauri1.5版本,进行桌面应用开发,在windows,linux进行桌面GUI应用程序开发,可以打包成功,使用 vite 最方便

1&#xff0c;视频地址&#xff1a; https://www.bilibili.com/video/BV1Pz421d7s4/ 【Tauri】&#xff08;1&#xff09;&#xff1a;使用Tauri1.5版本&#xff0c;进行桌面应用开发&#xff0c;在windows&#xff0c;linux进行桌面GUI应用程序开发&#xff0c;可以打包成功&…...

「Linux」软件安装

MySQL5.7在CentOS安装 安装 配置yum仓库 更新密钥&#xff1a;rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022安装MySQL yum库&#xff1a;rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm使用yum安装MySQL&#xff1a;yum -y in…...

Ubuntu Desktop - Terminal 输出全部选中 + 复制

Ubuntu Desktop - Terminal 输出全部选中 复制 1. Terminal2. Terminal 最大化3. Edit -> Select All4. Copy & PasteReferences 1. Terminal 2. Terminal 最大化 3. Edit -> Select All 4. Copy & Paste Edit -> Copy or Shift Ctrl C Edit -> Paste…...

Java 三大并大特性-可见性介绍(结合代码、分析源码)

目录 ​编辑 一、可见性概念 1.1 概念 二、可见性问题由来 2.1 由来分析 三、可见性代码例子 3.1 代码 3.2 执行结果 四、Java 中保证可见性的手段 4.1 volatile 4.1.1 优化代码 4.1.2 测试结果 4.1.3 volatile原理分析 4.1.3.1 查看字节码 4.1.3.2 hotspot 层面…...

【漏洞复现】狮子鱼CMS某SQL注入漏洞01

Nx01 产品简介 狮子鱼CMS&#xff08;Content Management System&#xff09;是一种网站管理系统&#xff0c;它旨在帮助用户更轻松地创建和管理网站。该系统拥有用户友好的界面和丰富的功能&#xff0c;包括页面管理、博客、新闻、产品展示等。通过简单直观的管理界面&#xf…...

《Java 简易速速上手小册》第6章:Java 并发编程(2024 最新版)

文章目录 6.1 线程的创建和管理 - 召唤你的士兵6.1.1 基础知识6.1.2 重点案例&#xff1a;实现一个简单的计数器6.1.3 拓展案例 1&#xff1a;定时器线程6.1.4 拓展案例 2&#xff1a;使用 Executor 框架管理线程 6.2 同步机制 - 维持军队的秩序6.2.1 基础知识6.2.2 重点案例&a…...

C++初阶:容器(Containers)list常用接口详解

介绍完了vector类的相关内容后&#xff0c;接下来进入新的篇章&#xff0c;容器list介绍&#xff1a; 文章目录 1.list的初步介绍2.list的定义&#xff08;constructor&#xff09;3.list迭代器&#xff08; iterator &#xff09;4.string的三种遍历4.1迭代器4.2范围for循环 5…...

HARRYPOTTER: FAWKES

攻击机 192.168.223.128 目标机192.168.223.143 主机发现 nmap -sP 192.168.223.0/24 端口扫描 nmap -sV -p- -A 192.168.223.143 开启了21 22 80 2222 9898 五个端口&#xff0c;其中21端口可以匿名FTP登录&#xff0c;好像有点说法,百度搜索一下发现可以用anonymous登录…...

嵌入式Qt 第一个Qt项目

一.创建Qt项目 打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项 弹出New Project对话框&#xff0c;选择Qt Widgets Application 选择【Choose】按钮&#xff0c;弹出如下对话框 设置项目名称和路径&#xff0c;按照向导进行下一步 选…...

【OpenHarmony硬件操作】风扇与温湿度模块

文章目录 前言一、串行通信是什么二、IC2.1 IC是什么2.2 IC涉及到的线2.3 IC的时序三、风扇的操作3.1 关于 pcf85743.2 风扇的接口函数IO拓展芯片的定义初始化PCF8574初始化 IO拓展版的引脚属性开启和关闭风扇读状态四、温湿度传感器的使用4.1 初始化温湿度传感器</...

Vue3.4+element-plus2.5 + Vite 搭建教程整理

一、 Vue3Vite 项目搭建 说明&#xff1a; Vue3 最新版本已经基于Vite构建&#xff0c;关于Vite简介&#xff1a;Vite 下一代的前端工具链&#xff0c;前端开发与构建工具-CSDN博客 1.安装 并 创建Vue3 应用 npm create vuelatest 创建过程可以一路 NO 目前推荐使用 Vue R…...

STM32Cubmax stm32f103zet6 SPI通讯

一、基本概念 SPI 是英语 Serial Peripheral interface 的缩写&#xff0c;顾名思义就是串行外围设备接口。是 Motorola 首先在其 MC68HCXX 系列处理器上定义的。 SPI 接口主要应用在 EEPROM&#xff0c; FLASH&#xff0c;实时时 钟&#xff0c; AD 转换器&#xff0c;还有数…...

每日OJ题_位运算⑤_力扣371. 两整数之和

目录 力扣371. 两整数之和 解析代码 力扣371. 两整数之和 371. 两整数之和 难度 简单 给你两个整数 a 和 b &#xff0c;不使用 运算符 和 - &#xff0c;计算并返回两整数之和。 示例 1&#xff1a; 输入&#xff1a;a 1, b 2 输出&#xff1a;3示例 2&#xff1a; …...

眼图原理与信号完整性分析技术详解

眼图原理与信号完整性分析技术 1. 眼图基础概念 1.1 眼图定义与形成机制 眼图是通过示波器余辉作用将扫描所得的每个码元波形重叠形成的图形。当使用示波器跨接在接收滤波器输出端&#xff0c;并调整扫描周期与接收码元周期同步时&#xff0c;屏幕上显示的图形因其形似人眼而…...

如何快速上手ESP-ADF:从零开始构建智能音频项目

如何快速上手ESP-ADF&#xff1a;从零开始构建智能音频项目 【免费下载链接】esp-adf Espressif Audio Development Framework 项目地址: https://gitcode.com/gh_mirrors/es/esp-adf ESP-ADF&#xff08;Espressif Audio Development Framework&#xff09;是乐鑫为ESP…...

# io多路复用之select详解

一、前备知识 1、io多路复用&#xff1a;在一个线程中实现服务器与多个客户端之间的链接与信息的收发 2、select系统调用&#xff1a;select函数属于系统调用&#xff0c;每次调用都会把fd_set在用户态和内核态之间来回copy&#xff0c;所以select效率不如epoll 3、select使用&…...

云边端一体化核心技术:数据同步与边缘智能实现

云边端一体化核心技术&#xff1a;数据同步与边缘智能实现&#x1f4da; 本章学习目标&#xff1a;深入理解数据同步与边缘智能实现的核心概念与实践方法&#xff0c;掌握关键技术要点&#xff0c;了解实际应用场景与最佳实践。本文属于《云原生、云边端一体化与算力基建&#…...

Vivado工程管理神器:TCL脚本一键重建工程(附完整脚本代码)

Vivado工程管理神器&#xff1a;TCL脚本一键重建工程&#xff08;附完整脚本代码&#xff09; 在FPGA开发领域&#xff0c;Vivado作为主流开发工具&#xff0c;其工程文件的管理一直是团队协作和版本控制中的痛点。每次更换开发环境或与团队成员共享工程时&#xff0c;传统方法…...

定制Windows容器:本地ISO镜像的高效配置策略

定制Windows容器&#xff1a;本地ISO镜像的高效配置策略 【免费下载链接】windows Windows inside a Docker container. 项目地址: https://gitcode.com/GitHub_Trending/wi/windows 在企业内网环境中部署Docker容器时&#xff0c;网络带宽限制和安全策略常常阻碍容器通…...

透视表vs交叉表:用餐厅小费数据掌握Pandas两大分析利器

透视表vs交叉表&#xff1a;用餐厅小费数据掌握Pandas两大分析利器 在数据分析的日常工作中&#xff0c;我们经常需要对数据进行多维度的交叉分析。想象一下这样的场景&#xff1a;你手里有一家连锁餐厅过去三个月的小费数据&#xff0c;老板想知道不同时间段&#xff08;午餐/…...

用C++手搓一个哈希表:从链表节点到链地址法的完整实现(附避坑指南)

用C手搓一个哈希表&#xff1a;从链表节点到链地址法的完整实现&#xff08;附避坑指南&#xff09; 哈希表作为数据结构中的瑞士军刀&#xff0c;其高效查找特性在数据库索引、缓存系统等领域无处不在。但教科书上的理论描述往往让初学者陷入"一看就会&#xff0c;一写就…...

HunyuanVideo-Foley开源大模型部署:24G显存专用调度策略深度解读

HunyuanVideo-Foley开源大模型部署&#xff1a;24G显存专用调度策略深度解读 1. 镜像概述与核心价值 HunyuanVideo-Foley 是一款集视频生成与音效生成于一体的多模态大模型&#xff0c;本镜像专为RTX 4090D 24GB显存环境深度优化。相比通用部署方案&#xff0c;本镜像通过以下…...

[具身智能-93]:ROS2除了用于机器人,还有哪些典型的应用场景?ROS2的神经系统连接功能,用于任何多节点(非多设备)互联的场景。

虽然 ROS (Robot Operating System) 的名字里带有“机器人”&#xff0c;但它的核心本质是一个基于发布/订阅模式的分布式通信中间件。随着 ROS 2 的成熟&#xff08;特别是引入了 DDS 数据分发服务、增强的安全性和实时性&#xff09;&#xff0c;它的应用场景已经远远超出了传…...