Docker入门:Docker安装与基本使用

2022-11-30 16762 阅读 云原生
所属系列:Docker入门教程 查看完整系列

一、前言

Docker支持主流的Linux Server、也支持Windows Server,同时为了方便开发者在开发环境中使用Docker,Docker官方也提供了支持Windows以及macOS的Docker Desktop。

1、本篇主要内容

  • Docker for CentOS安装
  • Docker Desktop for Windows安装
  • Docker Desktop for macOS安装
  • Docker的基础配置与使用
  • Docker核心概念介绍
  • Docker常用命令使用说明

2、环境信息

环境 说明
Docker Docker CE 20.10.21
Docker Desktop 4.14
CentOS CentOS 7
Windows Windows 10
macOS macOS Ventura 13.0

二、Docker安装

1、 Docker for CentOS 7 安装

  • 卸载旧版本(如果有)
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  • 指定 Docker yum源
sudo yum install -y yum-utils

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

如果官方的yum源添加失败,可以使用阿里云的Yum源

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 安装Docker(最新版or指定版本)
#安装最新版本
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin

#安装指定版本
#sudo yum -y install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin
sudo yum -y install docker-ce-20.10.21 docker-ce-cli-20.10.21 containerd.io docker-compose-plugin

#查看可用版本:https://docs.docker.com/engine/install/centos/
  • 启动Docker并设置为开机启动
#启动
sudo systemctl start docker

#开机启动
sudo systemctl enable docker
  • 验证Docker安装情况
#查看Docker版本
docker --version

# 运行hello world镜像
sudo docker run hello-world

#运行成功将会看到
Hello from Docker!
This message shows that your installation appears to be working correctly.
…………
  • 更换国内镜像源
#修改Docker守护进程配置
vi /etc/docker/daemon.json

#新增以下内容
{"registry-mirrors":["http://hub-mirror.c.163.com"]}

#重启Dokcer服务
sudo systemctl daemon-reload
sudo systemctl restart docker

2、 Docker Desktop 安装

Docker是一个基于Linux的虚拟化的技术,但是开发者日常大部分使用Windows、macOS设备,不过没关系,Docker官方为开发者提供Docker Desktop ,相当于在Windows、macOS上运行了一个带Docker的Linux虚拟机,并且提供了图形化的管理界面,可以非常便捷的管理镜像、容器等,对不熟悉命令的新手非常友好

  • 环境要求
操作系统 安装要求
Windows Windows 10及以上版本
开启Hyper-v或者开启WSL2
macOS macOS 10.15及以上版本
不能安装 4.3.30 之前的 VirtualBox
  • 安装

    下载之后按照默认选项安装即可~
    安装之后可以在命令行查看安装后的Docker版本
#执行命令
docker info

#输出内容
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.9.1)
  compose: Docker Compose (Docker Inc., v2.12.2)
  dev: Docker Dev Environments (Docker Inc., v0.0.3)
  extension: Manages Docker extensions (Docker Inc., v0.2.13)
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
  scan: Docker Scan (Docker Inc., v0.21.0)
  …………


如果在Windows上安装时没有选择基于WSL2,那么打开Hyper-V则会看到一个名为DockerDesktopVM的虚拟机

  • 设置开机启动
    Windows设置路径:Settings->General
    macOS设置路径: Preferences->General
    [√]Start Docker Desktop when you log in
  • 更换国内镜像源
    Windows设置路径:Settings->Docker Engine
    macOS设置路径: Preferences->Docker Engine
{
  "debug": true,
  "experimental": false,
  "insecure-registries": [],
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}


替换成以上设置后,选择 ‘Apply&restart’ ,等待重启完成后

三、Docker介绍

1、Docker核心概念

概念 说明
镜像(Image) Docker镜像是一个特殊的文件系统,镜像中包含了自己特有的资源、软件、配置等环境信息,Docker镜像就相当于一个模板帮助我们快捷创建一个Docker容器
容器(Container) Docker容器就是镜像的实例,容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository) 仓库就是公共的镜像存储中心,官方Repository:https://hub.docker.com/
,格式:{respository name}:{version},version缺省值为:latest
守护进程 (Daemon) Docker守护进程监听Docker客户端的API请求并管理所在宿主机上的镜像、容器、网络等等
客户端(Client) Docker客户端通过命令行或者Docker SDK与守护进程通信,一个客户端可以与多个Docker宿主机上额守护进程通信,例如:docker pull ubuntu

镜像跟容器就好比是虚拟机备份文件跟虚拟机的关系,我们可以根据备份文件创建多个具备同样环境的虚拟机,镜像跟仓库的关系就类似于Jar包跟Maven的关系,我们可以在Docker Hub搜索我们想要的镜像Repository,例如Redis官方镜像Nginx官方镜像,默认我们看到额都是最新版,需要特定版本,可以在Tag中查看,例如Redis:https://hub.docker.com/_/redis/tags

2、Docker常用命令

  • 管理镜像
#拉取Ubuntu最新版本镜像
docker pull ubuntu

#拉取Ubuntu指定版本镜像
docker pull ubuntu:22.03

#查看本地镜像
docker images

#删除镜像
docker image rm ubuntu:22.03
  • 容器管理
#创建并启动docker/getting-started镜像的容器
#启动后我们可以通过localhost:8080访问该容器提供的内容
docker run -d  -p 8088:80 --name docker-docs-ken  docker/getting-started 

#创建并启动ubuntu镜像的容器
docker run -itd --name ubuntu-ken ubuntu

#进入已经启动的容器
docker exec -it ubuntu-ken /bin/bash

#启动容器
docker start docker-docs-ken

#停用容器
docker stop docker-docs-ken

#删除容器
docker rm docker-docs-ken

#查看所有容器
docker ps -a


参数说明

参数 说明
run 创建并启动容器
exec 在已经运行的容器中执行新命令
start 启动指定(ID/Name)容器
stop 停用指定(ID/Name)容器
-it 连接到容器并在容器中创建&运行交互式终端(shell命令行)
-d 后台运行容器
-p 将本机端口映射到容器内的端口
—name 指定容器名

四、备注

1、本文参考