Docker Compose 从入门到实践

介绍 Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过使用一个 YAML 文件,您可以配置应用程序需要的所有服务。然后,只需一个命令,就可以创建并启动所有服务。 TrueNAS SCALE 24.10 开始使用docker和docker compose部署应用,所以写这一篇简单的介绍一下如何编写docker compose文件(即TrueNAS SCALE 的自定义应用) 编写docker-compose.yaml 文件 docker-compose.yaml 文件使用 YAML 格式定义服务、网络和卷。以下是文件的基本结构: services: service_name: image: image_name:tag build: . ports: - "host_port:container_port" volumes: - host_path:container_path environment: - ENV_VAR=value depends_on: - other_service 有过docker-compose经验的同学可能已经发现了不对劲的地方,为什么第一行少了version:'3',因为新版已经去掉了这个版本信息,直接写service就行 示例:部署一个简单的 Web 应用 我们以nginx举例 services: web: image: nginx:latest ports: - "8080:80" volumes: - /mnt/SSD/apps/nginx:/usr/share/nginx/html 解释: services:定义服务列表,这里定义了一个名为web 的服务。 image:指定使用的镜像,这里使用官方的 Nginx 镜像。 ports:将主机的 8080 端口映射到容器的 80 端口。 volumes:将本地的/mnt/SSD/app/nginx 目录挂载到容器内的/usr/share/nginx/html 注意:主机端口不要与其他应用冲突,/mnt/SSD/app/nginx 这个路径需要提前创建,你可以创建数据集或者直接命令行里创建目录,数据集的路径按下图示例: 在图片显示的路径前面要加上/mnt,也就是/mnt/SSD/apps/nginx 这样 ...

March 14, 2025 · 1 min

安装Docker以及其他容器

一键安装脚本 curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh Redhat系安装docker 安装依赖 dnf -y install yum-utils device-mapper-persistent-datalvm2 导入docker源 wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo 官方源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 阿里源 dnf makecache 更新索引 dnf install docker-ce docker-ce-cli containerd.io 安装docker组件 Debian系安装docker 安装依赖 sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release 导入gpg公钥 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 添加docker源 官方源 echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 阿里源 echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 更新索引 sudo apt update 安装docker组件 sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin 常规Docker组件 Portainer 拉取映像 docker pull portainer/portainer 创建并运行docker docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /root/portainer:/data portainer/portainer

March 12, 2025 · 1 min