💿Docker

太爱Docker了,万物皆可Docker,Docker取代一切!

我为什么说docker是我最喜欢的开发环境,因为docker有以下几大优势对我来说太关键了!

  • 使用任何编程语言时不需要考虑依赖,比如运行python程序时不需要考虑import的库

  • 一个项目一个container容器,完全独立自主运行,管理方便,重新构建方便,完整删除也方便

这两大优势对于服务器运行来说太好用了,不用考虑为每个项目去配置对应的编程语言环境

最新版Docker安装步骤:

  • 先删除原先可能已经安装的各种docker相关软件包:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
  • 将 Docker APT 软件源添加到你的系统:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
  • 安装 Docker 最新版本

  • 查看运行状态:

或者也可以使用官方的安装脚本:

如果遇到错误可能是系统或者版本的变更导致,可以自行去官网查看最新教程:https://docs.docker.com/engine/install/ubuntu/

特别的:对于国内的服务器,可能会导致下载密钥失败而无法进行后续的步骤报错,这个时候就可以用阿里云的镜像密钥进行替换

我也可以给大家看看我用docker部署了多少项目(仅作示例参考,没有任何特殊含义):

该章节下将为大家推荐几个几乎可以说是VPS必备的docker项目

P.S. 这里特别插一条小知识,国内的服务器由于网络环境的问题,很有可能是没法从docker Hub拉取镜像的,这就很难受了,需要借助一些反代服务,可以自己搭,也可以用我下面这个例子:

使用 1panel 的镜像来代理,后面跟上作者和镜像路径即可,不知道发布者是谁的就去Docker Hub找这个镜像(https://hub.docker.com/),然后上面的例子也是特殊的,这个library不是什么特定的作者,而是官方的镜像,如redis、mysql等都是官方发布的。

下面来讲一个进阶操作,我写了一个脚本,可以将服务器最大化精简到只保留运行docker的基本环境,删除了所有不必要的软件包和其他环境,并且安装docker命令行服务,这样的最小化系统可以提高在低配置机器上的使用体验和运行效率。(脚本使用方法在最后面)

警告:1、本脚本只适合在Ubuntu上运行;

2、本脚本会删除其他所有无关内容(一些特别的例子:删除了apt包管理工具,你将无法安装其他软件包,也无法管理软件包;删除了rsyslog,系统没有了日志记录;删除了cron,无法创建定时任务),只保留运行docker的环境,如果你要运行任何其他出了docker容器以外的内容请不要使用。

脚本使用方法:

最后更新于