关于如何从二进制文件安装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
- 首先停止任何正在本地运行的
dockerd
或dockerd.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
,但也可以根据需要使用其他驱动,如aufs
或devicemapper
。
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 save
和docker load
命令来备份和恢复镜像,以及使用docker container export
和docker container import
命令来备份和恢复容器。
以上是Docker Engine安装后的一些基本配置步骤。
根据您的具体需求和环境,可能还需要进行其他配置。
Linux上安装docker ,为什么要创建docker组?
在Linux上安装Docker时创建docker
组是一个推荐的做法,主要是出于以下几个原因:
-
安全性:出于安全考虑,通常不建议以root用户身份运行应用程序或服务。Docker守护进程(
dockerd
)需要访问底层系统资源,如网络、文件系统等,以正常工作。如果以root用户身份运行Docker,可能会增加系统被恶意容器或应用程序利用的风险。通过创建一个单独的docker
用户组,并允许需要运行Docker命令的用户加入该组,可以限制对系统资源的访问,从而提高安全性。 -
权限管理:通过创建
docker
组,可以将Docker命令的执行权限集中管理。这样,系统管理员可以轻松地控制哪些用户或服务可以运行Docker命令,而无需单独为每个用户配置sudo权限。这使得权限管理更加清晰和集中。 -
方便性:当用户被添加到
docker
组后,他们可以直接运行Docker命令,而无需在命令前加上sudo
。这简化了日常操作,提高了工作效率。对于频繁与Docker交互的用户来说,这可以避免每次都输入密码的麻烦。 -
一致性:在多用户环境中,创建
docker
组可以确保所有需要使用Docker的用户都有相同的权限和访问级别。这有助于保持系统的一致性,并减少配置差异导致的问题。 -
隔离性:
docker
组为Docker相关操作提供了一个明确的界限。这意味着,如果需要对Docker进行维护或升级,管理员可以更容易地管理与Docker相关的权限和配置,而不会影响到系统中的其他部分。
创建docker
组并添加用户的步骤通常如下:
sudo groupadd docker
sudo usermod -aG docker $USER
在执行上述命令后,需要注销并重新登录,或者重启系统,以使组成员身份更改生效。之后,用户就可以在没有sudo
的情况下运行Docker命令了。
总之,创建docker
组是为了在保证安全性的同时,提供方便的权限管理和操作体验。
这是Docker在Linux上推荐的最佳实践之一。
网友评论