一、简介
-
Docker 官方文档、Docker 中文文档,更新会落后于官方文档
-
什么是
Docker
?Docker
是一个应用打包
、分发
、部署
的工具,也可以把它理解为一个轻量的虚拟机,它只虚拟软件需要的运行环境,多余的一点都不要,而普通虚拟机则是一个完整而庞大的系统,包含各种不管要不要的软件。打包
:就是把软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
。分发
:可以把打包好的安装包
上传到一个镜像仓库,其他人可以非常方便的获取和安装。部署
:拿着安装包
就可以一个命令运行起来应用,自动模拟出一模一样的运行环境,不管是在Windows/Mac/Linux
。
-
特性对比
特性 普通虚拟机 Docker
跨平台 通常只能在桌面级系统运行,例如 Windows/Mac
,无法在不带图形界面的服务器上运行支持的系统非常多,各类 windows
和Linux
都支持性能 性能损耗大,内存占用高,因为是把整个完整系统都虚拟出来了 性能好,只虚拟软件所需运行环境,最大化减少没用的配置 自动化 需要手动安装所有东西 一个命令就可以自动部署好所需环境 稳定性 稳定性不高,不同系统差异大 稳定性好,不同系统都一样部署方式
二、安装
-
docker 安装、docker-compose 安装、docker 快速入门,包含 windows 安装等详细步骤
-
桌面版:https://www.docker.com/products/docker-desktop
-
服务器版:https://docs.docker.com/engine/install/#server
-
docker
安装成功后,可以使用$ docker -v
查看是否安装成功。 -
docker-compose
安装成功后,可以使用$ docker-compose -v
查看是否安装成功。注意:
除了在
Linux
上安装docker
时,不会自动安装docker-compose
,其他平台(window
、mac
)都会自动安装好docker-compose
。安装好
docker
后,可以通过$ docker-compose -v
检查是否顺带安装好了docker-compose
,没有安装好,可以按官网的方式进行安装。 -
安装成功后,在桌面版中,只需要启动即可正常使用,就算修改了配置也是重启软件也可以,在服务器版中则需要通过
systemctl
启动或重启:# 前面的 sudo 可更具情况进行添加 # 将 docker 加入开机自启动的列表 $ sudo systemctl enable docker # 启动 $ sudo systemctl start docker # 停止 $ sudo systemctl stop docker # 重启 $ sudo systemctl restart docker # 查看状态 $ sudo systemctl status docker
-
-
如果是在
Windows
环境下,还需要配置WSL
环境:-
WSL 介绍与使用
-
开始使用适用于 Linux 的 Windows 子系统 (WSL)
-
开启
Windows 虚拟化
和Linux 子系统(WSL2)
,附:docker windows 安装等详细步骤。 -
Ubuntu(乌班图)
是个基于Debian
以桌面应用为主的Linux
操作系统,可在应用上线搜索下载,也可通过命令进行安装。 -
命令安装(默认安装
ubuntu linux
)必须运行Windows 10 版本 2004
及更高版本(内部版本19041
及更高版本)或Windows 11
才能使用以下:# 安装好 ubuntu 后,并启动,会要求输入账号密码 $ wsl --install # 上面等于下面,默认安装就是 Ubuntu $ wsl --install -d Ubuntu # 输出 正在安装: Ubuntu 已安装 Ubuntu。 正在启动 Ubuntu... Installing, this may take a few minutes... Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: <https://aka.ms/wslusers> Enter new UNIX username: xxxx New password: Retype new password: passwd: password updated successfully Installation successful! To run a command as administrator (user "root"), use "sudo <command>". ...
安装好后,如何进入
ubuntu
?1、可在
cmd/PowerShell
中执行$ ubuntu
命令进入ubuntu
。2、在系统搜索中,搜索
ubuntu
应用,打开即可。
-
-
镜像配置
-
镜像列表
镜像归属 镜像地址 Docker
中国官方镜像https://registry.docker-cn.com DaoCloud
镜像站http://f1361db2.m.daocloud.io Azure
中国镜像https://dockerhub.azk8s.cn 科大镜像站 https://docker.mirrors.ustc.edu.cn 阿里云 https://<your_code>.mirror.aliyuncs.com 需要去注册个账号获取个私有的,这里放个别人的 https://ud6340vz.mirror.aliyuncs.com 七牛云 https://reg-mirror.qiniu.com 网易云 https://hub-mirror.c.163.com 腾讯云 https://mirror.ccs.tencentyun.com -
镜像格式
// 单个 "registry-mirrors": ["https://registry.docker-cn.com"] // 可以支持多个 "registry-mirrors": ["https://registry.docker-cn.com", "https://dockerhub.azk8s.cn", ...]
-
配置镜像:
# 方法一【使用命令修改配置】 # 1.运行以下命令来编辑 Docker 配置文件: $ sudo vim /etc/docker/daemon.json # 2.将以下内容复制到文件中,文件中有对象则去掉 {} 拷贝进去: { "registry-mirrors": ["https://registry.docker-cn.com"] } # 3. 保存并关闭文件。 # 4. 重启Docker服务: $ sudo systemctl restart docker # 5. 完成后,可以通过运行以下命令来验证是否成功: $ docker info # 6. 注意:如果是从其他镜像源获取镜像,需要将 https://registry.docker-cn.com 替换为相应的镜像源地址。 # 方法二:【使用 Docker Desktop 界面修改】 # 1.在 Docker Desktop 的状态栏上右键单击图标,选择 Settings。 # 2. 在 Docker Engine 选项卡中,找到 Registry mirrors 并单击 + 按钮。 # 3. 输入新的镜像源地址。 "registry-mirrors": ["https://registry.docker-cn.com"] # 4. 单击 Apply & restart 保存更改并重启服务。 # 5. 如果按钮自带重启,则不需要管,没有 restart 则需重启 Docker 服务。 # 6. 完成后,可以通过运行以下命令来验证是否成功: $ docker info
-
查看当前镜像
$ docker info
执行上面命令,查看输出信息中是否有
Registry Mirrors
,没有默认就是国外镜像,有就说明有自定义镜像地址:... Registry Mirrors: https://registry.docker-cn.com/
-
三、使用
-
常用命令
# 运行容器 $ docker run ... # 查看当前运行中的容器 $ docker ps # 查看镜像列表 $ docker images # 从仓库中拉取镜像 $ docker pull # 删除指定 id 的容器 $ docker rm <container-id> # 停止/启动指定 id 的容器 $ docker stop/start <container-id> # 删除指定 id 的镜像 $ docker rmi <image-id> # 查看 volume 列表 $ docker volume ls # 查看网络列表 $ docker network ls ......
-
Docker
命令指令列表: https://docs.docker.com/engine/reference/commandline/run/ -
Docker
官方镜像仓库:https://hub.docker.com/例如:搜索
redis
,下载运行。$ docker run -d -p 6379:6379 --name redis redis:latest -d # 表示可后台运行容器(守护式运行) -p # 宿主机端口:docker容器端口,将容器端口映射到宿主机上,通过宿主机访问内部端口 --name # 给要运行的容器起的名字 redis:latest # 指定版本 -it # 表示与容器进行交互式启动 /bin/bash # 交互路径 -v # 将容器内的指定文件夹挂载到宿主机对应位置 ......
-
docker-compose
方式运行例如:搜索
wordpress
,可以通过docker-compose.yml
下载运行。新建
docker-compose.yml
,并将内容拷贝进去保存,然后到该目录下执行安装命令$ docker-compose up -d
等待安装完成后,则可以进行访问