Docker学习
- Docker概述
- Docker安装
- Docker命令
- Docker镜像
- 容器数据卷
- DockerFile
- Docker网络原理
- IDEA整合Docker
- Docker Compose
- Docker Swarm
- CI\CD jenkins
Docker概述
Docker为什么会出现
- 虚拟机太笨重,安装多了会拖延电影。
- 开发软件部署软件所需的环境费时费力。
- 为了方便软件的开发和上线。
总总原因使得Docker的兴起
JRE–多个应用(端口冲突)–原来都是交叉的!
隔离:Docker核心思想就是打包装箱
Docker的基本组成
镜像(image):
Docker镜像就好比一个模版,可以通过这个模版来创建容器服务,tomcat镜像===》run===》tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。(镜像就像一个压缩包)
容器(container):
Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的。
启动,停止,删除,基本命令。
目前就可以把这个容器理解为就是一个简易的linux系统,项目
仓库(repository)
仓库就是存放镜像的地方;
仓库分为公有仓库和私有仓库;
Docker Hub(默认是国外的)
阿里云等都有容器服务器(配置镜像加速)
Docker的历史与发展
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
|
点击之后就会出现在Ubuntu中安装Docker的一系列指令。
该红色方框的内容告知安装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 # # 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能否运行
查看hello-world这个镜像
了解:卸载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
- 找到镜像加速地址
- 根据官方给出的配置教程进行镜像加速的配置
回顾hello-world流程
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