【docker】如何用二进制文件安装docker?

关于如何从二进制文件安装Docker Engine的官方文档页

How to Install Docker Engine from binaries
https://docs.docker.com/engine/install/binaries/

安装前的注意事项

  • 本页面提供的安装说明主要用于测试目的,不建议在生产环境中使用二进制文件安装Docker,因为这样无法自动进行安全更新。
  • 静态二进制文件可能不包括动态包提供的所有功能。
  • 对于Windows和Mac用户,建议安装Docker Desktop。
  • 对于Linux用户,建议按照特定于您的发行版的说明进行安装。

先决条件

  • 64位安装
  • Linux内核版本3.10或更高
  • iptables版本1.4或更高
  • git版本1.7或更高
  • 一个ps可执行文件
  • XZ Utils 4.9或更高版本
  • 正确挂载的cgroupfs层级结构

安全性考虑

  • 尽可能启用SELinux或AppArmor来提高安全性。
  • 如果启用了这些安全机制,不要禁用它们作为运行Docker或其容器的解决方案,而应正确配置它们。

Docker守护进程的考虑

  • 尽可能启用seccomp安全配置文件。
  • 尽可能启用用户命名空间。

安装静态二进制文件

  • 下载静态二进制文件存档,并根据您的硬件平台选择相应的.tgz文件。
  • 使用tar工具解压存档。
  • 可选:将二进制文件移动到可执行路径上的目录,如/usr/bin/
  • 启动Docker守护进程,并根据需要添加额外的选项。
  • 通过运行hello-world镜像来验证Docker是否安装正确。

macOS上的客户端二进制文件安装

  • 下载静态二进制文件存档,并选择适用于您的Mac芯片的版本。
  • 使用tar工具解压存档。
  • 清除扩展属性以允许运行。
  • 可选:将二进制文件移动到可执行路径上的目录,如/usr/local/bin/
  • 通过运行hello-world镜像来验证Docker是否安装正确。

Windows上的服务器和客户端二进制文件安装

  • 下载静态二进制文件存档,并选择最新版本。
  • 使用PowerShell命令安装和解压存档到程序文件。
  • 注册服务并启动Docker Engine。
  • 通过运行hello-world镜像来验证Docker是否安装正确。

升级Docker Engine

  • 首先停止任何正在本地运行的dockerddockerd.exe进程。
  • 然后按照常规安装步骤在现有版本之上安装新版本。

后续步骤

  • 查看Linux安装后的操作,以允许非特权用户运行Docker命令和其他可选配置步骤。
  • 了解如何使用Docker构建新应用程序。

Docker Engine 安装后如何进行基本配置?

在安装Docker Engine之后,进行基本配置是确保Docker正常运行的重要步骤。
以下是一些基本配置的步骤和建议:

1. 创建docker用户组

默认情况下,Docker命令需要root权限。为了简化操作,可以创建一个docker用户组,并将需要运行Docker命令的用户添加到该组中。这样,这些用户不需要使用sudo就可以执行Docker命令。

sudo groupadd docker
sudo usermod -aG docker $USER

2. 配置Docker守护进程

Docker守护进程的配置文件daemon.json位于/etc/docker/目录下。在这个文件中,可以设置各种守护进程级别的选项。例如,可以设置Docker守护进程的日志级别、存储驱动、注册中心镜像、资源限制等。

{
  "log-level": "info",
  "storage-driver": "overlay2",
  "insecure-registries" : ["myinsecureregistry.example.com:5000"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}

3. 管理Docker网络

Docker默认使用bridge网络,但您可能需要创建自定义网络来更好地管理容器之间的通信。可以使用docker network create命令创建新的网络。

docker network create --driver bridge my_custom_network

4. 配置Docker存储

Docker使用存储驱动来管理容器的文件系统。默认的存储驱动是overlay2,但也可以根据需要使用其他驱动,如aufsdevicemapper

5. 设置Docker资源限制

为了防止Docker容器消耗过多系统资源,可以设置资源限制,如CPU和内存的使用量。这可以通过docker run命令的--memory--cpus选项来实现。

docker run --memory="1g" --cpus="0.5" my_image

6. 启用Docker安全特性

  • Seccomp: 启用seccomp安全配置文件可以提高容器的安全性。
  • AppArmor: 在支持的Linux发行版上,可以启用AppArmor来增强安全性。
  • SELinux: 如果系统支持,可以启用SELinux来提供额外的安全层。

7. 定期更新Docker

为了确保Docker的安全性和最佳性能,定期更新到最新版本是一个好习惯。可以通过包管理器或重新下载二进制文件并替换旧版本来更新Docker。

8. 配置Docker日志

Docker守护进程的日志可以提供有关Docker操作的重要信息。可以配置日志驱动和日志级别,以及日志的存储位置和最大大小。

9. 使用Docker Compose

如果您需要定义和运行多容器Docker应用程序,可以使用Docker Compose。它允许您通过docker-compose.yml文件来配置应用程序的服务、网络和卷。

10. 备份和恢复Docker数据

为了防止数据丢失,定期备份Docker的数据和配置是很重要的。可以使用docker savedocker load命令来备份和恢复镜像,以及使用docker container exportdocker container import命令来备份和恢复容器。

以上是Docker Engine安装后的一些基本配置步骤。
根据您的具体需求和环境,可能还需要进行其他配置。

Linux上安装docker ,为什么要创建docker组?

在Linux上安装Docker时创建docker组是一个推荐的做法,主要是出于以下几个原因:

  1. 安全性:出于安全考虑,通常不建议以root用户身份运行应用程序或服务。Docker守护进程(dockerd)需要访问底层系统资源,如网络、文件系统等,以正常工作。如果以root用户身份运行Docker,可能会增加系统被恶意容器或应用程序利用的风险。通过创建一个单独的docker用户组,并允许需要运行Docker命令的用户加入该组,可以限制对系统资源的访问,从而提高安全性。

  2. 权限管理:通过创建docker组,可以将Docker命令的执行权限集中管理。这样,系统管理员可以轻松地控制哪些用户或服务可以运行Docker命令,而无需单独为每个用户配置sudo权限。这使得权限管理更加清晰和集中。

  3. 方便性:当用户被添加到docker组后,他们可以直接运行Docker命令,而无需在命令前加上sudo。这简化了日常操作,提高了工作效率。对于频繁与Docker交互的用户来说,这可以避免每次都输入密码的麻烦。

  4. 一致性:在多用户环境中,创建docker组可以确保所有需要使用Docker的用户都有相同的权限和访问级别。这有助于保持系统的一致性,并减少配置差异导致的问题。

  5. 隔离性docker组为Docker相关操作提供了一个明确的界限。这意味着,如果需要对Docker进行维护或升级,管理员可以更容易地管理与Docker相关的权限和配置,而不会影响到系统中的其他部分。

创建docker组并添加用户的步骤通常如下:

sudo groupadd docker
sudo usermod -aG docker $USER

在执行上述命令后,需要注销并重新登录,或者重启系统,以使组成员身份更改生效。之后,用户就可以在没有sudo的情况下运行Docker命令了。

总之,创建docker组是为了在保证安全性的同时,提供方便的权限管理和操作体验。
这是Docker在Linux上推荐的最佳实践之一。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容