持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情
🎐 放在前面说的话
大家好,我是北 👧🏻
本科在读,此为日常捣鼓.
如有不对,请多指教,也欢迎大家来跟我讨论鸭 👏👏👏
还有还有还有很重要的,麻烦大可爱们动动小手,给北点颗心心♥,北北需要鼓励嗷呜~
今天我们来浅尝一下Docker的安装与镜像制作。
Let’s get it!
一、🔓解锁Docker
Docker优势
- 无系统兼容问题
- 支持多版本共存
- 用完就丢
- 一个命令就安装ok
Docker是什么?干嘛用的?
- Docker 是一个应用打包、分发、部署的工具
-
打包:把软件运行需要的依赖、第三方库、软件打包成“安装包”
-
镜像(安装包):类似软件安装包
-
容器:镜像安装后,运行环境独立
-
分发:把“安装包”上传至镜像仓库,共享
-
部署:用“安装包”就可以一个命令运行我们的应用,不管是Windows还是Mac或者其他系统,都自动模拟一样的运行环境
- 用于虚拟软件所需运行环境(确保了不同机器上跑都是一致的运行环境)
Docker和普通虚拟机的区别
特性 | Docker | 普通虚拟机 |
---|---|---|
启动速度 | 启动快速属于秒级别 | 需要几分钟启动时间 |
性能损耗 | 需要资源少,只需模拟镜像所需环境,几乎没有性能损耗 | 需要模拟整个系统环境,性能损耗高,占存大 |
隔离性 | 隔离性较弱,进程间的隔离 | 隔离性较好,系统间的隔离 |
安全性 | 安全性弱,Docker 的租户 root 和宿主机 root 等同,Docker租户权限提升,它就直接具备了宿主机的 root 权限 | 安全性强,租户 root 权限和宿主机的 root 虚拟机权限是分离的,并且虚拟机有硬件隔离技术 |
稳定性 | 稳定性好,不同系统都一样部署方式 | 稳定性不高,不同系统差异大 |
安装方式 | 一个命令搞定,并自动配置好环境 | 手动安装所有 |
1.Docker安装连接
2.手动安装linux子系统
命令行安装 Linux 子系统(这步可能不需要,因为 docker 安装时有说自动安装wsl
wsl --install -d Ubuntu
3.设置Hypervisor
设置开机启动 Hypervisor(管理员权限打开powershell)
bcdedit /set hypervisorlaunchtype auto
4.确认已经开启BIOS虚拟化
5.镜像加速源
顾名思义,加速下载镜像的东西。就是已经有人同步好了那些镜像,放在了国内的服务器,我们下载下来就会快很多。
镜像加速器 | 镜像加速器地址 |
---|---|
Docker 中国官方镜像 | registry.docker-cn.com |
DaoCloud 镜像站 | f1361db2.m.daocloud.io |
Azure 中国镜像 | dockerhub.azk8s.cn |
科大镜像站 | docker.mirrors.ustc.edu.cn |
阿里云 | .mirror.aliyuncs.com |
七牛云 | reg-mirror.qiniu.com |
网易云 | hub-mirror.c.163.com |
腾讯云 | mirror.ccs.tencentyun.com |
二、📢Docker安装软件
🎬演示——安装MySQL
1.Docker官方镜像仓库搜索MySQL
寻找自己所要的版本和安装命令
2.安装 启动
打开powershell,根据前面官网找到的版本和安装命令,一个命令跑起来:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123123 -d mysql:8.0
mysql:自定义mysql名字
123123:自定义mysql密码
8.0: 下载版本
三、💿制作镜像
1.编写Dockerfile
编写前需要对项目 go build
一下下
- 维护者信息:该Dockerfile编写人的姓名或邮箱
- 基础镜像:以哪个镜像作为基础进行制作
FROM [基础镜像名称:版本]- 镜像操作命令:对基础镜像要进行的改造命令,比如安装新的软件,进行哪些特殊配置等
RUN [命令]- 容器启动命令:当基于该镜像的容器启动时需要执行哪些命令
CMD [命令]或ENTRYPOINT [命令]
# 基础镜像
FROM ubuntu:latest
# 镜像操作命令
RUN mkdir /app
# 设置容器启动后的默认运行目录
WORKDIR /app
# 将可执行文件复制进镜像文件中 从命名/app
COPY docker-demo.exe /app/app
# 容器启动命令
ENTRYPOINT[ "./app" ]
2.build 为镜像和运行
1)编译
docker build -t test:v1 .
-t
设置镜像名字和版本号
.
镜像构建过程中的上下文环境的目录
2)查看镜像列表
docker images
3)运行
docker run -p 8080:8080 --name test-hello test:v1
-p
映射容器内端口到宿主机
--name
容器名字
-d
后台运行
4)查看容器
docker ps -a
去8080康康:
🎉 放在后面说的话
以上简单地介绍了Docker的优势、与虚拟机的区别,如何在Windows系统上安装Docker、Docker上下载我们需要的镜像并运行、以及镜像的制作。后续还会写一下关于Docker的目录挂载、发布和部署等