论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
中间件
›
中间件
›
【情况配置】ubuntu中 Docker的安装
【情况配置】ubuntu中 Docker的安装
悠扬随风
金牌会员
|
2024-7-21 08:50:17
|
显示全部楼层
|
阅读模式
楼主
主题
842
|
帖子
842
|
积分
2526
前言
Docker的使用,一直没有系统的梳理和记载,刚好近来看视频又再次的全面介绍到docker。于是记载下方便后面自己的使用,毕竟安装过程中还是会存在小的不丝滑。
1 Docker的简单介绍
这里的介绍来自于大模子的问答(LLM时代的到来,使用起来~~)。
Docker 是一个开源的应用容器引擎,它使开发者能够打包他们的应用以及依靠包到一个可移植的容器中,然后发布到任何流行的 Linux 呆板上,也可以实现假造化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app), 更重要的是容器性能开销极低。
传统的假造化技能(如 VMware,KVM 等)是在硬件层面实现假造化,必要模拟硬件,因此无法制止地有一些额外的性能开销。而 Docker 是在操作系统层面上实现假造化,Docker 容器和内核交互,几乎没有性能损耗。
【
Docker 的三个基本概念
】
镜像(Image)
:Docker 镜像是一个只读模板,可以用来创建 Docker 容器。一个镜像可以包罗一个完备的操作系统情况,里面仅安装了应用和运行时所需的依靠。镜像可以用来创建 Docker 容器。
容器(Container)
:Docker 容器是 Docker 镜像的一个可运行实例,它包罗了应用程序及其依靠项,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
堆栈(Repository)
:堆栈是会合存放镜像文件的场合。堆栈分为公开堆栈(Public)和私有堆栈(Private)两种形式。最大的公开堆栈是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开堆栈包括阿里云、网易云等。
【
Docker的组成
】
Docker Client客户端
:用户通过DockerClient与Docker守护历程进行交互,发送请求并吸收响应。
Docker Daemon守护历程
:负责吸收来自DockerClient的请求,执行诸如创建、运行、停止、删除容器等操作。
Docker Image镜像
Docker Container容器
【
Docker的使用
】
安装Docker
:在Linux或Windows上安装Docker引擎,并验证安装是否成功。
创建和运行容器
:通过Docker命令(如docker search、docker pull、docker create、docker start等)来搜索、拉取、创建和启动容器。
构建和发布镜像
:使用Dockerfile来定义镜像的构建过程,并通过docker build命令来构建镜像。构建完成后,可以使用docker push命令将镜像发布到Docker Hub等镜像堆栈供其他人使用。
Docker通过其强大的功能和灵活性,已经成为当代软件开发和运维中不可或缺的工具之一。
【
Docker的特点
】
可移植性
:Docker容器可以在任何安装了Docker的呆板上运行,无需担心情况差异。
隔离性
:Docker容器使用沙箱机制,相互之间不会有任何接口,确保了应用程序的安全性。
轻量级
:Docker容器相比于假造机更加轻量级,因为它们共享宿主机的内核,不必要额外的操作系统。
版本控制
:Docker镜像可以被版本化,方便管理和追踪汗青变动。
【
Docker的用途
】
本地依靠
:Docker可以快速搭建开发情况,节流时间,提高开发效率。
搭建情况
:Docker可以快速地构建源码所需的情况,无需手动安装和配置各种软件。
微服务
:Docker非常得当微服务架构,可以将每个服务打包为一个Docker镜像并使用docker-compose来模拟生产情况。
自动测试
:Docker可以将测试用例与镜像紧密运行在一起,提高测试效率和可管理性。
部署过程
:Docker可以简化部署过程,使得应用程序可以快速、可靠地部署到目标呆板上。
持续部署
:Docker天生得当持续集成/持续部署,可以方便地实现应用程序的自动化更新和升级。
2 Docker的安装
第二章节,记载下ubuntu20.04下的Docker的安装。
1 安装一些依靠
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
复制代码
2 添加docker官网 GPG 密钥、设置stable 堆栈
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
复制代码
正确执行为会打印“OK”。
大概存在题目:报错
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to download.docker.com:443
gpg: no valid OpenPGP data found.
...
复制代码
这阐明连接异常,更换阿里云进行配置GPG 密钥(如下图),以及设置stable堆栈(未贴图)
详细命令如下:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=arm64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
复制代码
3. 安装 Docker
sudo apt-get update
sudo apt install docker-ce docker-ce-cli containerd.io
复制代码
安装完成,Docker 服务将会自动启动。你可以输入下面的命令,验证它:
docker --version
sudo systemctl status docker
复制代码
但安装过程中,大概报错如下:
invoke-rc.d:syntax error: unknown option ".-skip-systemd-native"
dpkg: error processing package docker-ce(--configure):
installed docker-ce package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
docker-ce
E:Sub-process /usr/bin/dpkg returnedan error code (1)
复制代码
则需执行以下操作:
cd /var/lib/dpkg
sudo mv info info.bak
sudo mkdir info
sudo apt-get install docker-ce docker-ce-cli containerd.io
复制代码
3.1 查阅安装的版本
安装汗青版本的docker
apt list -a docker-ce ## 查看 Docker 软件源中所有可用的版本
sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
复制代码
3.2 Docher 版本的固定
假如你想制止 Docker 自动更新,锁住它的版本:
sudo apt-mark hold docker-ce
复制代码
4 设置非root用户的权限
默认情况下,只有 root 或者 有 sudo 权限的用户可以执行 Docker 命令。
想要以非 root 用户执行 Docker 命令,必要将用户添加到 Docker 用户组,该用户组在 Docker_ce 软件包安装过程中被创建。输入:
sudo usermod -aG docker $USER ## $USER是一个环境变量,代表当前用户名。
复制代码
登出,而且重新登录,以便用户组会员信息刷新。
5 安装docker-compose
可选,安装命令如下。(实际上就是从github的releases中下载对应系统版本的docker-compose程序文件,授予执行权限即可)
sudo curl -L “https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-linux-$(uname -m)” -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
复制代码
6 Docker的测试
Docker Hub是一个云端服务,主要用来储存 公有和私有源中的 Docker 镜像。默认情况下,Docker可以从 从 Docker Hub 拉取镜像。
运行个docker的hello-word,执行docker命令如下:
docker container run hello-world
复制代码
第一次云运行时本地没有该镜像,这个命令将会下载测试镜像,在容器中运行它,打印出 “Hello from Docker”,而且退出。
6.1 阿里云镜像加速器的配置
拉取 hub.docker.com 的镜像,会发现速度很慢,是因为有墙。可以配置阿里云镜像加速器。
修改Docker配置文件。对于系统系统为Ubuntu 16.04+、Debian 8+、CentOS 7、Fedora 24+、RedHat 7+等,可修改/etc/docker/daemon.json文件(大概不存在)
vim /etc/docker/daemon.json
复制代码
然后添加如下内容
{
"registry-mirrors": ["https://b2w3942p.mirror.aliyuncs.com"]
}
复制代码
然后重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
复制代码
7 卸载 Docker
在卸载 Docker 之前,最好移除所有的容器,镜像,卷和网络。
运行下面的命令停止所有正在运行的容器,而且移除所有的 docker 对象:
docker container stop $(docker container ls -aq)
docker system prune -a --volumes
复制代码
使用apt像卸载其他软件包一样来卸载 Docker:
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo apt autoremove
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
悠扬随风
金牌会员
这个人很懒什么都没写!
楼主热帖
(8) PyQt 设计并实现【工厂扫码装箱系 ...
【Web前端】HTML详解(上篇)
IDEA: 如何导入项目模块 以及 将 Java ...
Java Long类parseLong()方法具有什么功 ...
互联网官方协议标准(rfc5000) ...
详解kubernetes五种暴露服务的方式 ...
命题逻辑等值演算
Uniapp进行APP打包——iOS 系统 ...
微信小程序项目实例——图片处理小工具 ...
王心凌再次爆火,为了防止收费,我连夜 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表