Pixiv

因为要部署Bitwarden,需要先配置docker环境,记录一下过程。

使用存储库安装Docker Engine

在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。

设置存储库

安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定的存储库。

$ sudo yum install -y yum-utils

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker 引擎

  1. 安装最新版本的 Docker Engine 和 containerd:

    $ sudo yum install docker-ce docker-ce-cli containerd.io

如果提示接受 GPG 密钥,请验证指纹是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,则接受它。

  1. 启动 Docker。

    $ sudo systemctl start docker
  2. hello-world 通过运行映像来验证 Docker 引擎是否已正确安装。

    $ sudo docker run hello-world

此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条消息并退出。

  1. 配置Docker开机自启
systemctl enable docker

参考自docker官方文档:Install Docker Engine on CentOS

使用Portainer可视化web管理

安装参考:Install Portainer CE

创建数据存放位置

docker volume create portainer_data

创建Portainer容器并运行

docker run -d -p 8000:8000 -p 9443:9443 -p 9000:9000 --name portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    cr.portainer.io/portainer/portainer-ce:2.9.3

访问http://localhost:9000进行配置。

配置Nginx反向代理

解决Docker绕过系统防火墙的问题。

这里说的绕过,并不是真正的绕过,而是Docker通过更底层的iptables来控制数据的流出和流入。这就是为什么防火墙端口没开,但却可以访问Docker容器的原因。
解决方法是,创建容器时,指定端口时带上127.0.0.1地址,不要使用0.0.0.0地址。示例如下:

  • 原本的端口配置
-p 80:80
  • 修改成
-p 127.0.0.1:80:80
この素晴らしい世界に祝福を!
最后更新于 2023-10-07