当前位置: 首页 > news >正文

Docker快速入门

1 基本信息

        1.1 基础概览

                (1)容器与镜像

                        容器‌:轻量级的独立运行时环境,基于Linux的命名空间(namespace)和控制组(cgroup)技术实现资源隔离‌。容器通过镜像创建,每个容器拥有独立的文件系统、网络和进程空间‌

                        镜像‌:不可变的模板文件,包含应用程序及其依赖项的分层结构,通过联合文件系统(UnionFS)实现多层叠加,最终形成容器可读写的顶层‌

                        ‌镜像仓库‌:如Docker Hub,用于存储和分发镜像,支持公共和私有仓库‌

                (2)‌容器与虚拟机的区别

                        虚拟机‌:需完整操作系统和Hypervisor层,资源占用高、启动慢‌

                        Docker容器‌:共享宿主机内核,无需独立操作系统,轻量且启动快(秒级)‌

        1.2 资源隔离

                cpu、memory资源隔离与限制

                访问设备隔离与限制 

                网络隔离与限制

                用户、用户组隔离限制

        1.3 架构

2 环境安装

        2.1 Docker安装

(1)下载依赖组件

        yum install -y yum-utils device-mapper-persistent-data lvm2

        注意:本地安装出现错误(我本地安装出现的错误)

                Could not resolve host: mirrorlist.centos.org; 未知的错误

           问题原因:CentOS 7官方已经停止支持了。

           问题是mirrorlist.CentOS.org 这个链接,因为CentOS 7 于 2024-06-30 停止支持后不再存在。所以这个域名自然就找不到。

           解决:参考这个网址 https://www.xiaomawang.cn/help/201448.html

                打开/etc/yum.repos.d/centos.repo文件,然后注释掉 mirrorlist 行

(2)设置docker镜像源(阿里仓库)

        yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(3)安装Docker服务

        yum install docker-ce

(4)安装成功后,启动docker并设置成开机自启动

        systemctl start docker #启动docker

        systemctl enable docker #docker开机自启动

(5)查看版本信息

        docker --version

        2.2 Docker-Compose安装(容器编排)

(1)下载 docker-compose-linux-x86_64

        (自己手动去官方github下载,上传到服务器)

        官方地址:https://github.com/docker/compose/releases

(2)赋可执行权限,并移动到/usr/bin目录下

        chmod a+x docker-compose-linux-x86_64

        mv docker-compose-linux-x86_64 /usr/bin/docker-compose

(3)查看版本信息

        docker-compose version

3 常用命令

(1)docker images :查看所有镜像

(2)docker ps :查看正在运行的容器

(3)docker rm  容器id/名字 :删除停止的容器

(4)docker stop 容器id/名字:停止容器

(5)docker start 容器id/名字 :再次启动

(6)docker update 容器id/名字 --restart=always :应用开机自启

(7)docker exec -it 容器id  /bin/bash :进入容器内部的系统,修改容器内容

        退出容器内部:exit

其他使用到的后续慢慢补充...

4 部署中间件(使用docker-compose)

        说明:/usr/local/docker -- 全部指定安装到这个路径下

        4.1 安装MySQL

(1)创建文件夹

        mkdir mysql_docker

        cd mysql_docker

(2)编写docker-compose.yml文件

        vi docker-compose.yml

version: '3.1'
services: mysql:image: mysql:5.7.24container_name: mysqlports:- "3306:3306"environment:- MYSQL_ROOT_PASSWORD=rootvolumes:- ./data/:/var/lib/mysql/

(3)docker-compose执行

        docker-compose up -d

        说明==> 出现问题:拉取镜像失败(我本地出现的问题)

        解决:https://www.cnblogs.com/smallfa/p/18565334

(4)查看执行日志

        docker-compose logs -f mysql

-------------------------------------------------------------------------------------------------------------------------

docker安装MySQL默认root用户是允许远程连接的

如果无法正常连接,需要看两种情况

        虚拟机:关闭防火墙

        云服务器:不需要关闭防火墙,安全组开放端口

        4.2 安装Nacos

                Nacos默认启动是集群模式,这里用单机模式 

(1)创建文件夹

        mkdir nacos_docker

        cd nacos_docker

(2)编写docker-compose.yml文件

        vi docker-compose.yml

version: '3.1'
services: nacos:image: nacos/nacos-server:v2.1.1container_name: nacosports:- 8848:8848environment:- MODE=standalone

(3)执行

        docker-compose up -d

(4)查看启动日志

        docker logs -f nacos

        4.3 安装Redis

                Redis的6379端口,经常会被作为挖矿的入口,Redis一定要设置连接密码,而且不要太简单

(1)创建文件夹

        mkdir redis_docker

        cd redis_docker

(2)为了设置密码,需要先准备一个redis的配置文件

        mkdir data
        cd data
        vi redis.conf

                requirepass Redis123!

(3)编写docker-compose.yml文件

        vi docker-compose.yml

version: '3.1'
services: redis:image: redis:5.0.9container_name: redisports:- 6379:6379volumes:- ./data/:/data/command: ["redis-server","redis.conf"]

(4)执行

        docker-compose up -d

(5)查看启动日志

        docker logs -f redis

        4.4  安装RabbitMQ

(1)创建文件夹

        mkdir rabbitmq_docker

        cd rabbitmq_docker

(2)编写docker-compose.yml文件

        vi docker-compose.yml

version: '3.1'
services: rabbitmq:image: rabbitmq:3.8.3-managementcontainer_name: rabbitmqports:- 5672:5672- 15672:15672environment:- RABBITMQ_DEFAULT_USER=root- RABBITMQ_DEFAULT_PASS=root

(3)执行

        docker-compose up -d

(4)查看启动日志

        docker logs -f rabbitmq

4.5 安装minio

(1)创建文件夹

        mkdir minio_docker

        cd minio_docker

(2)编写docker-compose.yml文件

        vi docker-compose.yml

version: '3.1'
services:minio:image: minio/minio:latestcontainer_name: miniocommand: server /data --console-address ":9001"environment:MINIO_ROOT_USER: miniopandy   # 默认管理员账号MINIO_ROOT_PASSWORD: miniopandy123  # 默认密码需修改volumes:- /data:/data- /config:/root/.minioports:- "9000:9000"   # API 端口- "9001:9001"   # 控制台端口restart: always

(3)执行

        docker-compose up -d

(4)查看启动日志

        docker logs -f minio

相关文章:

  • yarn的定义
  • PyCharm Flask 使用 Tailwind CSS v3 配置
  • 软件工程中数据一致性的探讨
  • Spark两种运行模式与部署
  • 【ELF2学习板】Ne10进行FFT测试
  • 基于SpringBoot的新闻小程序开发与设计
  • 七牛使用任务工作流对音频进行转码
  • 项目管理基础---引言
  • 树莓派超全系列教程文档--(32)config.txt常用音频配置
  • 银行卡风险画像在社交行业网络安全的应用
  • 深入理解 React Hooks:简化状态管理与副作用处理
  • 【Test Test】灰度化和二值化处理图像
  • JAVA中多线程的经典案例
  • 2025.04.18|【Map】地图绘图技巧全解
  • 负载均衡的策略
  • Nacos 中使用了哪些缓存?缓存的目的是什么?是如何实现的?
  • 废物九重境弱者学JS第十天--BOM对象和本地存储
  • UNION和UNION ALL的主要区别
  • UMG:ListView
  • leetcode 188. Best Time to Buy and Sell Stock IV
  • “从山顶到海洋”科技成果科普巡展在重庆启动,免费开放
  • 光影连接世界,中国企业出海绘就城市新名片
  • 天地图新版上线对公众、企业有何用?自然资源部总规张兵详解
  • 读懂城市丨“花木之乡”沭阳,一场持续五年的“诚信实验”
  • “HPV男女共防计划”北半马主题活动新闻发布会在京举办
  • 什么样的赛事能推进建设全球著名体育城市,上海半马就是答案