Docker学习

  • Docker概述
  • Docker安装
  • Docker命令
    • 镜像命令
    • 容器命令
    • 操作命令
  • Docker镜像
  • 容器数据卷
  • DockerFile
  • Docker网络原理
  • IDEA整合Docker
  • Docker Compose
  • Docker Swarm
  • CI\CD jenkins

Docker概述

Docker为什么会出现

  • 虚拟机太笨重,安装多了会拖延电影。
  • 开发软件部署软件所需的环境费时费力。
  • 为了方便软件的开发和上线。

总总原因使得Docker的兴起

  • Docker的思想来自于集装箱

JRE–多个应用(端口冲突)–原来都是交叉的!

隔离:Docker核心思想就是打包装箱

Docker的基本组成

镜像(image):

Docker镜像就好比一个模版,可以通过这个模版来创建容器服务,tomcat镜像===》run===》tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。(镜像就像一个压缩包)

容器(container):

Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的。

启动,停止,删除,基本命令。

目前就可以把这个容器理解为就是一个简易的linux系统,项目

仓库(repository)

仓库就是存放镜像的地方;

仓库分为公有仓库和私有仓库;

Docker Hub(默认是国外的)

阿里云等都有容器服务器(配置镜像加速)

Docker的历史与发展

Docker的其他

  • Docker是基于Go语言开发的开源项目

  • Docker的学习少不了看Docker官方的帮助文档,虽然是纯英文但是非常的详细,耐着性子看下去。

  • Docker官方

1
https://www.docker.com/
  • Docker帮助文档的位置

Docker安装图片7

  • Docker仓库的地址:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
```



# Docker安装的前提准备

+ 由于博主的系统是Windows11所以本次安装重点是在Windows11上Docker

1. linux上安装Docker去其他博客上搜索
2. mac上安装Docker去其他博客上搜索
3. Windows11上安装Docker在本篇文章

## 检查Windows11的版本

+ 先检查Windows11的版本,如果不是专业版的,那么就要在Windows11里面装一个虚拟机,在虚拟机上安装Docker。

1. 先右键点击此电脑,再点击查看属性。
2. 下划到Windows规格那一个框里面
3. 查看Windows版本

![Docker安装图片1](Docker安装/Docker安装图片1-1701085559746-5.png)

+ 由于博主的Windows规格不是专业版,所以不能在该系统上安装Docker,除非去花钱激活专业版。
+ 不是Windows专业版,在其上面安装Docker,server跑不起来。

## 安装虚拟机

+ 虚拟机安装放在其他博客里面,这里不再过多叙述

[Ubuntu安装 | iyheart的博客](https://iyheart.github.io/2024/03/02/Linux使用blog/Ubuntu安装/)

# 安装Docker

+ 在VMware中安装好Ubuntu后,进入Ubuntu进行Docker的安装。

## 环境查看

+ 查看系统的内核

```shell
输入指令:uname -r
6.2.0-37-generic
  • 查看系统版本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
输入指令: cat /etc/os-release

PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
  • 在安装的过程中,查看帮助文档

Docker安装图片8

Docker安装图片9

  • 如果是在Mac系统上安装Docker就点击苹果,在Windows pro 版本就点击中间的,在Linux安装就点击第三个

  • 注意:博主是在Windows虚拟机Ubuntu中安装的Docker,Ubuntu是属于Linux内核开发的操作系统,故点击第三个

Docker安装图片10

点击之后就会出现在Ubuntu中安装Docker的一系列指令。

Docker安装图片11

该红色方框的内容告知安装Docker,电脑的需求配置。

1
2
3
要求拥有64位版本的最新LTS版本(Ubuntu jammy jellyfish 22.04)
或当前的非LTS版本(Ubuntu Mantic Minotaur 23.10)
Docker Desktop支持x86_64(或amd64)架构

对于该条件博主在查看虚拟机版本时已经确认

1
#第六行 VERSION="22.04.3 LTS (Jammy Jellyfish)"

查看帮助文档

  • 查看Docker的Doc帮助文档
  • Docker 的版本
    • docker-ce社区版 docker-ee企业版 (推荐安装社区版)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#1、查看Ubuntu的桌面系统类型是否是gnome
echo $XDG_CURRENT_DESKTOP
ubuntu:GNOME
#如果不是gnome系统需要安装gnome终端
sudo apt install gnome-terminal

#2、卸载Ubuntu自带的旧版的Docker Desktop
sudo apt remove docker-desktop

#3、完全清理旧版配置和数据文件
rm -r $HOME/.docker/desktop
sudo rm /usr/local/bin/com.docker.cli
sudo apt purge docker-desktop
# #4、设置Docker的存储库,使用apt安装包
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

#安装最新版本的Docker如下:
sudo apt-get install
#安装指定版本的Docker如下:
docker-desktop-<version>-<arch>.deb
#安装完之后出现如下提示错误信息忽略即可
N: Download is performed unsandboxed as root, as file '/home/user/Downloads/docker-desktop.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

#5、设置镜像的仓库
(1)先打开Docker的配置文件
sudo vim /etc/docker/daemon.json
(2)添加或修改配置文件中的"registry-mirrors"键
{
"registry-mirrors": [
"https://feadfpaw.mirror.aliyuncs.com/"
]
}
如过存在"registry-mirrors"键,那么只需要添加镜像地址即可
#6、启动Docker
sudo systemctl start docker
#7、检查Docker是否成功启动
docker version #查看docker版本

Docker安装图片12

测试Docker能否运行

1
docker run hello-world

Docker安装图片13

查看hello-world这个镜像

1
docker images

了解:卸载Docker

1
2
3
4
5
6
#1. 卸载依赖
remove docker-re docker-re-cli containerd.io
#2. 删除资源
rm -rf/var/lib/docker

# /var/lib/docker docker的默认工作路径

阿里云镜像加速

  • 进入阿里云的官方网站,并注册
  • 先点击左上角的产品,再点击容器,最后再点击,容器镜像产品ACR
  • 找到镜像加速地址
  • 根据官方给出的配置教程进行镜像加速的配置

Docker安装图片14

Docker安装图片15

回顾hello-world流程

Docker安装图片13

1
2
3
4
5
#1. Docker会在本机寻找镜像。判断本机是否存在该镜像,如果有该镜像直接运行即可.
#2. 如果本机不存在该镜像,就会显示输入指令后第一行信息,
#并会在Docker Hub上下载
Unable to find image 'hello-world:latest' locally
#3. 如果Docker Hub上有,那么就从下载到本地,并在本地运行
  • 这里要注意,博主的电脑在Windows系统上是打开不了Docker Hub
  • 这是因为Docker Hub配置不在Windows上而在虚拟机Ubuntu上
  • 所以要在Ubuntu上的浏览器去访问Docker Hub