Docker安装教程(Ubuntu)

一、前期准备

1、防火墙设置

1.如果您使用 ufw 或 firewalld 来管理防火墙设置,请注意,当您使用 Docker 公开容器端口时,这些端口会绕过您的防火墙规则。当您使用 Docker 发布容器的端口时,该容器的进出流量在通过 ufw 防火墙设置之前就会被重定向。Docker 在 nat 表中路由容器流量,这意味着数据包在到达 ufw 使用的 INPUT 和 OUTPUT 链之前就会被重定向。数据包在防火墙规则生效之前就被路由,实际上忽略了您的防火墙配置。

2.Docker 仅兼容 iptables-nft 和 iptables-legacy 。使用 nft 创建的防火墙规则在安装了 Docker 的系统上不受支持。请确保您使用的任何防火墙规则集都是使用 iptables 或 ip6tables 创建的,并将它们添加到 DOCKER-USER 链中,参见数据包过滤和防火墙。
具体点击下面链接查看:

Packet filtering and firewalls

2、操作系统要求

要安装 Docker 引擎,您需要以下 Ubuntu 版本之一的 64 位版本:

  • Ubuntu Oracular 24.10
  • Ubuntu Noble 24.04 (LTS)
  • Ubuntu Jammy 22.04 (LTS)
  • Ubuntu Focal 20.04 (LTS)

Docker 引擎适用于 Ubuntu,兼容 x86_64(或 amd64)、armhf、arm64、s390x 和 ppc64le(ppc64el)架构。

二、安装方法

Docker安装官方教程

三、非root用户运行Docker

Docker 守护进程绑定到 Unix 套接字,而不是 TCP 端口。默认情况下,Unix 套接字属于 `root` 用户,其他用户只能使用 `sudo` 访问它。Docker 守护进程始终以 `root` 用户身份运行。
如果您不想在 `docker` 命令前加上 `sudo` ,请创建一个名为 `docker` 的 Unix 组并将用户添加到其中。当 Docker 守护进程启动时,它会创建一个 Unix 套接字,该套接字可供 `docker` 组的成员访问。在某些 Linux 发行版中,使用软件包管理器安装 Docker Engine 时,系统会自动创建此组。在这种情况下,您无需手动创建组。

1、创建 docker 群组并添加您的用户:

sudo groupadd docker

2、添加您的用户到 docker 组。

sudo usermod -aG docker $USER

3、退出并重新登录,或者运行下面命令。

newgrp docker

4、在不使用 sudo 的情况下运行 docker 命令。

docker run hello-world

如果出现以下错误:

WARNING: Error loading config file: /home/user/.docker/config.json –
stat /home/user/.docker/config.json: permission denied

此错误表示由于之前使用了 sudo 命令, ~/.docker/ 目录的权限设置不正确。
要解决这个问题,要么删除 ~/.docker/ 目录(它将自动重新创建,但任何自定义设置都将丢失),要么使用以下命令更改其所有权和权限:

sudo chown "USER":"USER" /home/"USER"/.docker -R
sudo chmod g+rwx "HOME/.docker" -R

四、Docker配置

1、修改镜像源

创建或修改/etc/docker/daemon.json文件

vim /etc/docker/daemon.json

或:

nano /etc/docker/daemon.json

添加下面内容:

{
    "registry-mirrors": [
        "https://registry-1.docker.io"
    ]
}

请修改地址为可用的镜像源

重启docker

service docker restart

查看是否更换成功

docker info

2、配置默认日志驱动程序

Docker 为主机上运行的所有容器提供日志驱动程序,用于收集和查看日志数据。默认的日志驱动程序 json-file 将日志数据写入主机文件系统中的 JSON 格式文件。随着时间的推移,这些日志文件会不断增大,可能导致磁盘资源耗尽。
为避免因过度使用磁盘存储日志数据而产生问题,请考虑以下选项之一:

Docker卸载

1.卸载 Docker Engine、CLI、containerd 和 Docker Compose 软件包:

sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

2.镜像、容器、卷或自定义配置文件在您的宿主机上不会被自动删除。要删除所有镜像、容器和卷:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

3.删除源列表和密钥环

sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.asc
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇