参考资料

  1. Docker Compose的作用是什么?
  2. NAS中为何使用Docker?
  3. YOURLS (Your Own URL Shortener) 是一个开源的PHP程序,允许用户创建和管理自定义短链接
  4. Consul 是 HashiCorp 公司开发的服务网格解决方案,
  5. NATS 是一个高性能、轻量级的开源消息系统
  6. Java 是一种面向对象、跨平台的编程语言
  7. Drupal 是一个开源的内容管理系统 (CMS),用于构建网站
  8. Cloudreve是一款自托管的网盘系统,支持对接OnlyOffice实现在线文档编辑功能

Docker基于Linux容器技术

Docker基于Linux容器技术配置部署

  1. 系统要求

  • 64位Linux系统

  • 内核版本3.10或更高

  • 支持cgroups和命名空间

  1. 安装Docker
    Ubuntu/Debian:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

CentOS/RHEL:

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
  1. 启动Docker服务

sudo systemctl start docker
sudo systemctl enable docker
  1. 配置Docker

  • 修改存储驱动(在/etc/docker/daemon.json):

{
  "storage-driver": "overlay2"
}
  • 配置镜像加速(国内用户):

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
  1. 容器管理命令

  • 运行容器: docker run -it ubuntu /bin/bash

  • 列出容器: docker ps -a

  • 启动/停止: docker start/stop <CONTAINER>

  • 删除容器: docker rm <CONTAINER>

  1. 镜像管理

  • 拉取镜像: docker pull ubuntu:20.04

  • 列出镜像: docker images

  • 删除镜像: docker rmi <IMAGE>

  1. 网络配置

  • 查看网络: docker network ls

  • 创建网络: docker network create my-net

  • 连接容器: docker network connect my-net my-container

  1. 数据卷管理

  • 创建数据卷: docker volume create my-vol

  • 挂载数据卷: docker run -v my-vol:/data

  1. 容器编排

  • 安装Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  1. 安全配置

  • 限制资源:

docker run -it --cpus=".5" --memory="512m" ubuntu
  • 用户命名空间:

echo "dockremap:165536:65536" >> /etc/subuid
echo "dockremap:165536:65536" >> /etc/subgid