首页 > 其他分享 >Docker 及 Docker Compose 安装指南

Docker 及 Docker Compose 安装指南

时间:2023-09-05 18:02:38浏览次数:48  
标签:指南 容器 compose Compose 镜像 Docker docker


Docker 是一个开源的容器化平台,可以帮助我们快速构建、打包和运行应用程序。而 Docker Compose 则是用于管理多个容器应用的工具,可以轻松定义和管理多个容器之间的关系。现在,让我们开始安装过程吧!

docker 安装

apt安装
  1. sudo apt update
  2. sudo apt install docker.io
  3. sudo systemctl status docker
配置镜像加速

vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://registry.docker-cn.com","https://hmdsd139.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn"],
  "log-driver":"json-file",
  "log-opts": {"max-size":"500m", "max-file":"3","compress": "true"}
}

重启docker守护进程

systemctl daemon-reload

systemctl restart docker

docker-compose描述及安装

docker-compose 概述

Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。使用前面介绍的Dockerfile我们很容易定义一个单独的应用容器。然而在日常开发工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器;再比如在分布式应用一般包含若干个服务,每个服务一般都会部署多个实例。如果每个服务都要手动启停,那么效率之低、维护量之大可想而知。这时候就需要一个工具能够管理一组相关联的的应用容器,这就是Docker Compose。

Compose重要的概念
  • 项目(Project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。
  • 服务(Service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。

docker compose运行目录下的所有yml文件组成一个工程,一个工程包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。一个服务可包括多个容器实例。docker-compose就是docker容器的编排工具,主要就是解决相互有依赖关系的多个容器的管理。

docker-compose安装

从github上下载docker-compose二进制文件安装

https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64

  • 添加可执行权限
cd /usr/local/bin/
mv docker-compose-linux-x86_64 docker-compose
sudo chmod +x docker-compose
  • 测试安装结果
    docker-compose --version

Docker Compose version v2.5.0

docker使用过程中常见问题

Docker中下载阿里云镜像时报错

报错信息

Error response from daemon: manifest for registry.cn-hangzhou.aliyuncs.com/mindoc/mindoc:v0.12 not found: manifest unknown: manifest unknown

  1. 检查网络连接:确保你的服务器能够正常连接到互联网。尝试使用浏览器或其他工具测试服务器的网络连接。
  2. 检查Docker配置:查看你的Docker配置文件(通常是/etc/docker/daemon.json),确认是否配置了正确的镜像加速器地址。阿里云提供了加速器地址,你可以在阿里云官网找到相应的文档。
  3. 重启Docker服务:在修改了Docker配置文件后,你需要重启Docker服务使配置生效。可以使用以下命令重启Docker:
sudo systemctl restart docker
  1. 清理缓存:有时候Docker的缓存可能导致问题,尝试清理Docker的缓存并重新下载镜像。可以使用以下命令清理缓存:
docker system prune -a
  1. 使用其他镜像源:如果以上方法仍然无法解决问题,你可以尝试使用其他可靠的镜像源,例如华为云、网易云等。根据你的需求选择合适的镜像源,并按照它们提供的文档进行配置。


标签:指南,容器,compose,Compose,镜像,Docker,docker
From: https://blog.51cto.com/xiuji/7377978

相关文章

  • 从头开始:将新项目上传至Git仓库的简易指南
    无论您是一个经验丰富的开发者还是一个刚刚起步的新手,使用Git来管理您的项目是一个明智的选择。Git是一个强大的版本控制系统,它可以帮助您跟踪项目的变化、合并代码以及与团队成员协作。在本文中,我们将为您提供一步步的指南,教您如何将一个现有的项目上传至仓库。步骤1:创建远程仓库......
  • 使用 SQLStudio 进行数据库管理并通过 Docker Compose 进行部署
    在现代软件开发中,数据库管理是一个至关重要的环节。SQLStudio是一个强大的工具,可以帮助开发人员轻松管理数据库,现在改名成SQLynx,我们用的是旧的镜像,本文还是用SQLStudio这个名称。同时,使用DockerCompose可以简化应用程序的部署过程,使整个开发流程更加高效和可靠。最近了看到有......
  • 深入了解Git:介绍及常用命令指南
    当今软件开发领域中,版本控制是一个至关重要的概念,而Git作为最流行的分布式版本控制系统,发挥着不可替代的作用。本文将介绍Git的基本概念以及常用命令,帮助你更好地理解和使用这一强大的工具。Git简介Git是一种分布式版本管理系统(版本管理就是管理更新的历史记录。它为我们提供了一些......
  • Docker容器
    1. dock容器是基于go语言实现的云开源项目,docker项目,主要目标是通过对应用组件的封装,分发,部署,运行等生命周期的管理,使用户的app(可以是一个web应用或数据库应用等等)及其运行环境做到'一次镜像,次次运行'2. 容器与虚拟机容器与虚拟机的相同点都会对物理硬件资源进行资源共享功......
  • 自定义企业培训系统:源码定制与扩展指南
    在现代企业中,持续学习和培训已经成为成功的关键要素之一。企业培训系统的存在已经变得不可或缺,因为它们允许企业为员工提供高质量的培训和教育,以提高他们的技能水平并满足不断变化的业务需求。然而,通用的培训系统可能无法满足每个企业的特定需求,这就是为什么自定义企业培训系统变得......
  • Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像
    说明全部都基于Docker服务搭建使用,首先用Docker安装Jenkins环境,Docker安装GitLab版本管理系统,执行Jenkins拉取指定版本tag进行编译构建,在用SonarQube进行代码质量检测,在打包制作镜像,发布到Harbor镜像仓库,最后启动SpringBoot工程并进行访问。系统平台CentOSLinu......
  • 软件测试|Django 入门:构建Python Web应用的全面指南
    引言Django是一个强大的PythonWeb框架,它以快速开发和高度可扩展性而闻名。本文将带您深入了解Django的基本概念和核心功能,帮助您从零开始构建一个简单的Web应用。什么是Django?Django是一个基于MVC(模型-视图-控制器)设计模式的Web框架,旨在简化Web应用程序的开发过程。它由Django软......
  • docker push image harbor http 镜像
    前言搭建的harbor仓库为http协议,在本地登录后,推送镜像发生如下报错:dockerpush192.168.xx.xx/test/grafana:v10.1.1Thepushreferstorepository[192.168.xx.xx/test/grafana]Get"https://192.168.xx.xx/v2/":dialing192.168.58.139:443matchesstaticsystemexc......
  • docker login harbor http login登录
    前言搭建的harbor仓库为http协议,在本地登录时出现如下报错:dockerloginhttp://192.168.xx.xxUsername:adminPassword:Errorresponsefromdaemon:Get"https://192.168.xx.xx/v2/":dialing192.168.xx.xx:443matchesstaticsystemexclude:connectingto192.168......
  • Swoft+Docker
    Docker以下纯属个人理解:Docker就是一种虚拟机,将环境打包成镜像,等于做了一个Linux系统裁剪。镜像就是我们安装系统的镜像,里面包含了你的代码和环境。容器就是一个虚拟机,你可以用一个镜像创建多个容器,等于就是安装了多个虚拟机。然后用dockerexec就可以进入容器执行命令,等于......