【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的链接已失效


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

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

相关文章

MybatisPlus快速入门及常见设置

目录 一、快速入门 1.1 准备数据 1.2 创建SpringBoot工程 1.3 使用MP 1.4 获取Mapper进行测试 二、常用设置 2.1 设置表映射规则 2.1.1 单独设置 2.1.2 全局设置 2.2 设置主键生成策略 2.2.1 为什么会有雪花算法? 2.2.2 垂直分表 2.2.3 水平分表 2.…

JavaScript流程控制详解之顺序结构和选择结构

流程控制 流程控制,指的是控制程序按照怎样的顺序执行 在JavaScript中,共有3种流程控制方式 顺序结构选择结构循环结构 顺序结构 在JavaScript中,顺序结构是最基本的结构,所谓的顺序结构,指的是代码按照从上到下、…

R语言入门笔记2.3

for循环 for循环用于多次执行相似的代码。其基本语法如下: for (variable in sequence) {# 在每次迭代中执行的代码 }其中: variable 是一个变量,用于在每次迭代中存储序列中的当前元素。sequence 是一个向量,可以是数字序列、字…

上海亚商投顾:沪指涨超3% 深成指和创指双双飙涨超6%

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 今日A股三大指数一改近期低迷状态,早盘小幅低开后一路高歌猛进集体大涨,沪指涨超3%&am…

1-4 动手学深度学习v2-线性回归的简洁实现-笔记

通过使用深度学习框架来简洁地实现 线性回归模型 生成数据集 import numpy as np import torch from torch.utils import data # 从torch.utils中引入一些处理数据的模块 from d2l import torch as d2ltrue_w torch.tensor([2,-3.4]) true_b 4.2 features, labels d2l.syn…

Springboot中的起步依赖和自动装配

自动配置 各种autoconfigure后缀的和其他依赖。主要是指含有spring.factories的文件。 注意&#xff0c;要使用EnableAutoConfiguration注解才能启用这些依赖。 起步依赖 起步依赖就是各种starter&#xff0c;例如 <dependency><groupId>org.springframework.bo…

锁(二)队列同步器AQS

一、队列同步器AQS 1、定义 用来构建锁或者其他同步组件的基础框架&#xff0c;它使用了一个int成员变量表示同步状态&#xff0c;通过内置的FIFO队列来完成资源获取线程的排队工作。是实现锁的关键。 2、实现 同步器的设计是基于模板方法模式的&#xff0c;也就是说&#…

如何安装x11vnc并结合cpolar实现win远程桌面Deepin

文章目录 1. 安装x11vnc2. 本地远程连接测试3. Deepin安装Cpolar4. 配置公网远程地址5. 公网远程连接Deepin桌面6. 固定连接公网地址7. 固定公网地址连接测试 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c; 通俗易懂&#xff…

11.0 Zookeeper watcher 事件机制原理剖析

zookeeper 的 watcher 机制&#xff0c;可以分为四个过程&#xff1a; 客户端注册 watcher。服务端处理 watcher。服务端触发 watcher 事件。客户端回调 watcher。 其中客户端注册 watcher 有三种方式&#xff0c;调用客户端 API 可以分别通过 getData、exists、getChildren …

GLSL ES 1.0

GLSL ES 概述 写在前面 程序是大小写敏感的每一个语句都应该以英文分号结束一个shader必须包含一个main函数&#xff0c;该函数不接受任何参数&#xff0c;并且返回voidvoid main() { }数据值类型 GLSL支持三种数据类型&#xff1a; 整型浮点型&#xff1a;必须包含小数点&…

python 动态显示数据。

界面显示动态的数据。 from time import sleep import serialimport tkinter as tklis[1,10,40] # 打开串行端口 ser serial.Serial(COM3, 9600) # 9600为波特率&#xff0c;根据实际情况进行调整# 创建窗口和画布 window tk.Tk() canvas tk.Canvas(window, width400, heig…

高阶滤波器

一阶后向差分&#xff1a;s&#xff08;1-z^(-1)&#xff09;/T dx/dt[x(k)-x(k-1)]/T[x(k)-x(k)z^(-1)]/Tx(k)*&#xff08;1-z^(-1)&#xff09;/T 一阶前向差分&#xff1a;s(z-1)/T dx/dt[x(k1)-x(k)]/T[z*x(k)-x(k)]/Tx(k)*(z-1)/T 双线性差分&#xff1a;s(2/T)*(1-z…

通过 docker-compose 部署 Flink

概要 通过 docker-compose 以 Session Mode 部署 flink 前置依赖 Docker、docker-composeflink 客户端docker-compose.yml version: "2.2" services:jobmanager:image: flink:1.17.2ports:- "8081:8081"command: jobmanagervolumes:- ${PWD}/checkpoin…

【大模型上下文长度扩展】FlashAttention:高效注意力计算的新纪元

FlashAttention&#xff1a;高效注意力计算的新纪元 核心思想核心操作融合&#xff0c;减少高内存读写成本分块计算&#xff08;Tiling&#xff09;&#xff0c;避免存储一次性整个矩阵块稀疏注意力&#xff0c;处理长序列时的效率问题利用快速 SRAM&#xff0c;处理内存与计算…

【大模型上下文长度扩展】LongQLoRA:单GPU(V100)环境下的语言模型优化方案

LongQLoRA 核心问题子问题1: 预定义的上下文长度限制子问题2: 训练资源的需求高子问题3: 保持模型性能分析不足 LongQLoRA方法拆解子问题1: 上下文长度限制子问题2: 高GPU内存需求子问题3: 精确量化导致的性能损失分析不足效果 论文&#xff1a;https://arxiv.org/pdf/2311.048…

docker镜像结构

# 基础镜像 FROM openjdk:11.0-jre-buster # 设定时区 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 拷贝jar包 COPY docker-demo.jar /app.jar # 入口 ENTRYPOINT ["java", "-jar"…

游泳耳机推荐性价比排行榜,四大高性价比游泳耳机推荐

随着运动健康意识的提高&#xff0c;越来越多的朋友选择在游泳馆进行锻炼。然而&#xff0c;在水中享受音乐并非易事&#xff0c;这就需要一款真正防水的耳机。尽管市面上有许多声称具备防水功能的耳机产品&#xff0c;但实际使用中往往难以达到理想的防水效果。为了帮助大家找…

之前看过的前序遍历的线索二叉树感觉写的有点问题 这里更新一下我的思路

前序线索化 #include<iostream> using namespace std;typedef int datatype; typedef struct BitNode {datatype Data;struct BitNode* leftchild;struct BitNode* rightchild;int lefttag;int righttag; }Node; #pragma region 前序线索化递归遍历 Node* previous NUL…

maven依赖报错处理(或者maven怎么刷新都下载不了依赖)

maven依赖报错&#xff0c;或者不报错&#xff0c;但是怎么刷新maven都没反应&#xff0c;可以试一下以下操作 当下载jar的时候&#xff0c;如果断网&#xff0c;或者连接超时的时候&#xff0c;会自动在文件夹中创建一个名为*lastupdate的文件&#xff0c;当有了这个文件之后…

飞桨自然语言处理框架 paddlenlp的 trainer

飞桨&#xff08;PaddlePaddle&#xff09;的NLP库PaddleNLP中的Trainer类是一个用于训练和评估模型的简单但功能完整的循环。它被优化用于与PaddleNLP一起使用。Trainer类简化了训练过程&#xff0c;提供了自动的批处理、模型保存、日志记录等特性。 以下是Trainer类的主要参数…