IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker笔记 -> 正文阅读

[系统运维]Docker笔记

📚Docker

【官网地址】:Empowering App Development for Developers | Docker

【开源地址】:Docker (github.com)

【镜像地址】:Explore Docker’s Container Image Repository | Docker Hub

【官方文档】:Docker Documentation

开源的应用容器引擎

📕前言

  • Dockerfile

    Docker自动化脚本,通过它可以自动化配置容器和安装镜像。

  • Image

    Docker镜像,部署的应用程序以及它所关联的所有库或软件,可以用于创建容器Container。

  • Container

    Docker容器,运行Image部署的应用程序的容器。

  • Volumes

    数据卷,使容器之间的数据可以同步到本地服务中。

开发者可以通过它打包他们的应用和依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口。

它不会去模拟底层的硬件,只为一个应用提供完全隔离的运行环境,可以在环境中配置不同的工具软件,并且不同环境之间相互不影响。

💡部署应用

  1. 创建Dockerfile

  2. 通过FROM指定基础镜像

    # python 镜像应用 3.8-slim-buster 版本号
    FROM python:3.8-slim-buster
    
  3. 通过WORKDIR指定之后命令默认工作路径

    WORKDIR /app
    
  4. 通过COPY将所有的程序拷贝到Docker镜像中

    # 目标路径 . 代表WORKDIR指定的默认工作路径
    # 本地路径 . 代表程序根目录下所有的文件
    COPY . .
    # COPY <本地路径> <目标路径>
    
  5. 通过RUN运行任意的shell command

    RUN pip3 install -r requirements.txt
    
  6. 通过CMD指定Docker容器运行后要执行的命令

    CMD ["python3", "app.py"]
    # CMD ["可执行文件", "参数1", "参数2" ...]
    
  7. 使用docker build创建镜像

    docker build -t my-finance .
    # -t 指定镜像名字
    # . 指定Dockerfile在当前目录下
    
  8. 创建Volume

    docker volume create my-finance-data
    # docker volume create <容器名称>
    
  9. 使用docker run启动容器

    docker run -p 80:5000 -d my-finance
    # -p 将容器的端口映射到本机主机上
    # 80 本机端口
    # 5000 容器端口
    # -d 容器后台运行
    # -v 指定volume挂载到容器哪个路径 -v my-finance-data:/etc/finance
    

💡管理多个容器

  1. 创建docker-compose.yml

  2. 通过services定义多个容器

    version: "3",
    services:
      web:
        build: .
        ports:
          - "80:5000"
      db:
        image: "mysql"
        environment: 
          MYSQL_DATABASE: finance-db
          MYSQL_ROOT_PASSWORD: secret
        volumes:
          - my-finance-data:/var/lib/mysql
    volumes:
      my-finance-data: {}
    
  3. 使用docker bulid创建镜像

🌳Docker Command

  • 列举所有的容器:docker ps
  • 停止容器:docker stop <容器 ID>
  • 重启容器:docker restart <容器 ID>
  • 删除容器:docker rm <容器 ID>
  • 启动并运行所有容器:docker compose up [-d]
  • 停止并删除所有容器:docker compose down [--volumes]
  • 启动远程Shell:docker exec -it <容器 ID> /bin/bash
  • 创建数据卷:docker volume create <数据卷名称>
  • 打印日志:docker logs

?查询版本显示连接错误

docker version
error during connect: This error may indicate that the docker daemon is not running.
  • Docker Desktop 运行错误

?WSL 2 installation is incomplete.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gAB8LxlN-1643620105431)(image-20220130223813417.png)]

参考文献

  1. Docker 10分钟快速入门_哔哩哔哩_bilibili
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:59:17  更:2022-02-01 21:01:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 7:19:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码