Docker 安装与基本使用

image.png

一、简介

  • Docker 官方文档Docker 中文文档,更新会落后于官方文档

  • 什么是 Docker ?

    Docker 是一个应用打包分发部署的工具,也可以把它理解为一个轻量的虚拟机,它只虚拟软件需要的运行环境,多余的一点都不要,而普通虚拟机则是一个完整而庞大的系统,包含各种不管要不要的软件。

    • 打包:就是把软件运行所需的依赖、第三方库、软件打包到一起,变成一个 安装包
    • 分发:可以把打包好的 安装包 上传到一个镜像仓库,其他人可以非常方便的获取和安装。
    • 部署:拿着 安装包 就可以一个命令运行起来应用,自动模拟出一模一样的运行环境,不管是在 Windows/Mac/Linux
  • 特性对比

    特性 普通虚拟机 Docker
    跨平台 通常只能在桌面级系统运行,例如 Windows/Mac,无法在不带图形界面的服务器上运行 支持的系统非常多,各类 windowsLinux 都支持
    性能 性能损耗大,内存占用高,因为是把整个完整系统都虚拟出来了 性能好,只虚拟软件所需运行环境,最大化减少没用的配置
    自动化 需要手动安装所有东西 一个命令就可以自动部署好所需环境
    稳定性 稳定性不高,不同系统差异大 稳定性好,不同系统都一样部署方式

二、安装

  • docker 安装docker-compose 安装docker 快速入门,包含 windows 安装等详细步骤

    • 桌面版:https://www.docker.com/products/docker-desktop

    • 服务器版:https://docs.docker.com/engine/install/#server

    • docker 安装成功后,可以使用 $ docker -v 查看是否安装成功。

    • docker-compose 安装成功后,可以使用 $ docker-compose -v 查看是否安装成功。

      注意:

      除了在 Linux 上安装 docker 时,不会自动安装 docker-compose,其他平台(windowmac)都会自动安装好 docker-compose

      安装好 docker 后,可以通过 $ docker-compose -v 检查是否顺带安装好了 docker-compose,没有安装好,可以按官网的方式进行安装。

    • 安装成功后,在桌面版中,只需要启动即可正常使用,就算修改了配置也是重启软件也可以,在服务器版中则需要通过 systemctl 启动或重启:

      # 前面的 sudo 可更具情况进行添加
      # 将 docker 加入开机自启动的列表
      $ sudo systemctl enable docker
      # 启动
      $ sudo systemctl start docker
      # 停止
      $ sudo systemctl stop docker
      # 重启
      $ sudo systemctl restart docker
      # 查看状态
      $ sudo systemctl status docker
      
  • 如果是在 Windows 环境下,还需要配置 WSL 环境:

    • WSL 介绍与使用

    • 开始使用适用于 Linux 的 Windows 子系统 (WSL)

    • 开启 Windows 虚拟化Linux 子系统(WSL2) ,附:docker windows 安装等详细步骤

      image.png

      image.png

    • Ubuntu(乌班图) 是个基于 Debian 以桌面应用为主的 Linux 操作系统,可在应用上线搜索下载,也可通过命令进行安装。

    • 命令安装(默认安装 ubuntu linux)必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下:

      # 安装好 ubuntu 后,并启动,会要求输入账号密码
      $ wsl --install 
      
      # 上面等于下面,默认安装就是 Ubuntu
      $ wsl --install -d Ubuntu
      
      # 输出
      正在安装: Ubuntu  
      已安装 Ubuntu。  
      正在启动 Ubuntu...  
      Installing, this may take a few minutes...
      Please create a default UNIX user account. The username does not need to match your Windows username.  
      For more information visit: <https://aka.ms/wslusers>  
      Enter new UNIX username: xxxx  
      New password:  
      Retype new password:  
      passwd: password updated successfully  
      Installation successful!  
      To run a command as administrator (user "root"), use "sudo <command>".
      ...
      

      安装好后,如何进入 ubuntu?

      1、可在 cmd/PowerShell 中执行 $ ubuntu 命令进入 ubuntu

      2、在系统搜索中,搜索 ubuntu 应用,打开即可。

  • 镜像配置

    • 镜像列表

      镜像归属 镜像地址
      Docker 中国官方镜像 https://registry.docker-cn.com
      DaoCloud 镜像站 http://f1361db2.m.daocloud.io
      Azure 中国镜像 https://dockerhub.azk8s.cn
      科大镜像站 https://docker.mirrors.ustc.edu.cn
      阿里云 https://<your_code>.mirror.aliyuncs.com 需要去注册个账号获取个私有的,这里放个别人的 https://ud6340vz.mirror.aliyuncs.com
      七牛云 https://reg-mirror.qiniu.com
      网易云 https://hub-mirror.c.163.com
      腾讯云 https://mirror.ccs.tencentyun.com
    • 镜像格式

      // 单个
      "registry-mirrors": ["https://registry.docker-cn.com"]
      
      // 可以支持多个
      "registry-mirrors": ["https://registry.docker-cn.com", "https://dockerhub.azk8s.cn", ...]
      
    • 配置镜像:

      # 方法一【使用命令修改配置】
      # 1.运行以下命令来编辑 Docker 配置文件:
      $ sudo vim /etc/docker/daemon.json
      # 2.将以下内容复制到文件中,文件中有对象则去掉 {} 拷贝进去:
      {
              
               "registry-mirrors": ["https://registry.docker-cn.com"] }
      # 3. 保存并关闭文件。
      # 4. 重启Docker服务:
      $ sudo systemctl restart docker
      # 5. 完成后,可以通过运行以下命令来验证是否成功:
      $ docker info
      # 6. 注意:如果是从其他镜像源获取镜像,需要将 https://registry.docker-cn.com 替换为相应的镜像源地址。
      
      
      # 方法二:【使用 Docker Desktop 界面修改】
      # 1.在 Docker Desktop 的状态栏上右键单击图标,选择 Settings。
      # 2. 在 Docker Engine 选项卡中,找到 Registry mirrors 并单击 + 按钮。
      # 3. 输入新的镜像源地址。
      "registry-mirrors": ["https://registry.docker-cn.com"]
      # 4. 单击 Apply & restart 保存更改并重启服务。
      # 5. 如果按钮自带重启,则不需要管,没有 restart 则需重启 Docker 服务。
      # 6. 完成后,可以通过运行以下命令来验证是否成功:
      $ docker info
      

      image.png

    • 查看当前镜像

      $ docker info
      

      执行上面命令,查看输出信息中是否有 Registry Mirrors,没有默认就是国外镜像,有就说明有自定义镜像地址:

      ...
      Registry Mirrors:
        https://registry.docker-cn.com/
      

三、使用

  • 常用命令

    # 运行容器
    $ docker run ...
    # 查看当前运行中的容器
    $ docker ps
    # 查看镜像列表
    $ docker images
    # 从仓库中拉取镜像
    $ docker pull
    # 删除指定 id 的容器
    $ docker rm <container-id>
    # 停止/启动指定 id 的容器
    $ docker stop/start <container-id>
    # 删除指定 id 的镜像
    $ docker rmi <image-id>
    # 查看 volume 列表
    $ docker volume ls
    # 查看网络列表
    $ docker network ls
    ......
    
  • Docker 命令指令列表: https://docs.docker.com/engine/reference/commandline/run/

  • Docker 官方镜像仓库:https://hub.docker.com/

    例如:搜索 redis,下载运行。

    $ docker run -d -p 6379:6379 --name redis redis:latest
    
    -d # 表示可后台运行容器(守护式运行)  
    -p # 宿主机端口:docker容器端口,将容器端口映射到宿主机上,通过宿主机访问内部端口
    --name # 给要运行的容器起的名字  
    redis:latest # 指定版本
    -it # 表示与容器进行交互式启动
    /bin/bash # 交互路径
    -v # 将容器内的指定文件夹挂载到宿主机对应位置
    ......
    
  • docker-compose 方式运行

    例如:搜索 wordpress,可以通过 docker-compose.yml 下载运行。

    新建 docker-compose.yml,并将内容拷贝进去保存,然后到该目录下执行安装命令

    $ docker-compose up -d
    

    等待安装完成后,则可以进行访问

猜你喜欢

转载自blog.csdn.net/zz00008888/article/details/131683257