一、前言
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虚拟机,并且提供了图形化的管理界面,可以非常便捷的管理镜像、容器等,对不熟悉命令的新手非常友好
- 官网下载Docker Desktop
https://www.docker.com/products/docker-desktop/
- 环境要求
操作系统 | 安装要求 |
---|---|
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 | 指定容器名 |