因为要部署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 引擎
-
安装最新版本的 Docker Engine 和 containerd:
$ sudo yum install docker-ce docker-ce-cli containerd.io
如果提示接受 GPG 密钥,请验证指纹是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
,如果是,则接受它。
-
启动 Docker。
$ sudo systemctl start docker
-
hello-world
通过运行映像来验证 Docker 引擎是否已正确安装。$ sudo docker run hello-world
此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条消息并退出。
- 配置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
Comments NOTHING