参考资料

  1. ZooKeeper 是一个开源的分布式协调服务
  2. OnlyOffice 是一款开源办公套件
  3. Gradle 是一个基于 Apache Ant 和 Maven 概念的自动化构建工具
  4. Spug 是一款开源的轻量级自动化运维平台
  5. Docker Swarm 是 Docker 原生的集群管理工具
  6. Docker与Kubernetes的关系?
  7. Cloudreve 启用 JWT(JSON Web Tokens)加密通信
  8. Logstash 是 Elastic 公司开发的开源数据收集和处理引擎

Docker 简介

Docker 是一个开源的应用容器引擎,基于 Go 语言开发,允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,实现快速部署和跨平台运行。

特点

  1. 轻量级:容器共享主机 OS 内核,资源占用少。

  2. 可移植性:一次构建,随处运行(支持 Linux/Windows/macOS)。

  3. 隔离性:通过命名空间和 cgroups 实现进程、网络和文件系统隔离。

  4. 快速部署:秒级启动,支持自动化构建和扩展。

  5. 版本控制:支持镜像分层和版本管理。

最新更新内容及时间

  • 2023年12月:Docker Desktop 4.26 发布,新增:

    • 改进的 BuildKit 缓存管理。

    • 支持 Kubernetes 1.28。

    • 增强的日志筛选功能。

镜像下载地址

官网地址

文档地址

Docker 安装示例(Ubuntu)

# 1. 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc

# 2. 安装依赖
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

# 3. 添加 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 4. 添加仓库
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. 安装 Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

# 6. 验证安装
sudo docker run hello-world

.yarl 设置教程(应为 .yaml,如 docker-compose.yml

version: '3.8'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: example

常用错误及解决

  1. 权限拒绝

    Got permission denied while trying to connect to the Docker daemon

    解决:将用户加入 docker 组:

    sudo usermod -aG docker $USER
  2. 端口冲突

    Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use

    解决:更改端口或停止占用端口的服务。

  3. 镜像拉取失败

    Error response from daemon: pull access denied

    解决:登录 Docker Hub:

    docker login
  4. 磁盘空间不足

    No space left on device

    解决:清理无用镜像:

    docker system prune -a
  5. 容器启动后退出

    Exited (0) 1 second ago

    解决:检查容器内进程是否前台运行,或添加 -it 交互参数。