Ken的杂谈
  • Ken的杂谈 (current)
  • 关于
  • 杂谈
    Java Spring Spring Boot Spring Cloud MyBatis C# .NET Core .NET ASP.NET Core ASP.NET ClassLibrary Mono 数据库 MySQL SQL Server 网络 缓存 Web Linux CentOS Ubuntu macOS Windows openEuler Nginx ServiceStack JS/JQ 正则 工具 IDE Grafana Exceptions CI/CD Solution 微服务 Arch Docker 杂谈
  • 系列
    Java 快速入门系列教程 Spring Boot 入门教程 Spring Boot 2.x 入门教程 Spring Cloud 入门教程 .NET Core 快速入门教程 ASP.NET Core 2.1 入门教程 CentOS 7 快速上手教程 Ubuntu快速上手入门教程 Hyper-V基础教程 Docker入门教程
  • GitHub

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

Linux Docker @ 2022-11-30 00:50:15 · 阅读:(11786)

一、前言

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 指定容器名

四、备注

1、本文参考

  • https://docs.docker.com/get-docker/
  • https://docs.docker.com/engine/reference/run/

  • 系列名称:Docker入门教程
  • 上一篇:Docker入门:带你了解Docker的特性和优缺点
  • 下一篇:Docker入门:使用Dockerfile构建Docker镜像

Ken的杂谈

本文由 ken.io 创作,采用CC BY 3.0 CN协议 进行许可。 可自由转载、引用、甚至修改,但需署名作者且注明出处。

Linux Docker

随笔目录


    © Copyright 2012-2025 Ken的杂谈

    豫ICP备10025012号

    ASP.NET Core(6.0) on Linux