- Docker 诞生于云计算第一个十年的尾巴上。眨眼间,它所代表的现 代容器技术,已经占据了云计算的半壁江山。
- 持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情
前言
学习Docker之前咱们先来了解一下什么是云原生。
云原生: 云原生是基于分布部署和统一运管的分布式云 ,以容器、微服务、DevOps等技术为基础建立的一套云技术产品体系。
Docker 诞生于云计算第一个十年的尾巴上。眨眼间,它所代表的现 代容器技术,已经占据了云计算的半壁江山。
什么是Docker?
Docker是基于Go语言实现的开源容器项目。它诞生于2013年年初, 最初发起者是dotCloud公司。Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker项目已加入Linux基金会,并遵循Apache 2.0协议,在项目仓库进行维护,开源代码地址。关于更详细的介绍,本文不做过多赘述,均可查阅资料获取。
Docker的三大核心概念
- 镜像(Image): 镜像是创建Docker容器的基础。
- 容器(Container):Docker利用容器来运行应用
- 仓库(Repository):类似于Git仓库,在Docker主要用于存放镜像文件
如何安装Docker
Docker已经在Windows有了很好的支持,由于我没有Linux服务器,本文将使用Windows为大家演示安装,Windows安装地址
- 安装完成,(注意:需要开启虚拟化、Hyper-V)
- CentOS安装,以及相关命令
sudo service docker start (开启Docker服务)
systemctl enable docker (设置开机启动Docker)
systemctl start docker (启用Docker服务)
docker --help (查看Docker所有命令)
获取镜像
镜像是运行容器的前提,Docker Hub官网提供了许许多多的镜像提供下载!
镜像操作相关命令行
注意:如果不显式指定 TAG,则默认会选择latest标签,这会下载仓库中最新版本的镜像。所以尽量不要在生产环境中忽略镜像的标签信息。
1.获取镜像
docker pull 镜像名:Tag
2.查询宿主机所有镜像
docker images
3.搜索镜像
docker search mysql
4.删除镜像
docker rmi 镜像ID/标签
5.查询镜像详情包括作者、适应架构...等
docker inspect redis
6.查看镜像历史
docker history redis
使用 Docker Images可以查看镜像相关信息,如Tag、镜像Id(镜像唯一标识)、大小等
- 那么如何创建镜像呢?
后端开发最常见的就是Dockerfile文件
图1-1为.NET创建的Dockerfile文件
操作Docker容器(容器是镜像的一个运行实例)
- 创建容器
注意:使用docker create创建的容器默认为停止,需要手动启动
docker create -it redis
- 创建并且运行容器
// 在本地通过ubuntu4容器终端输出Hello World
docker run ubuntu /bin/echo `Hello World`
- 启动\停止容器
docker start 容器Id
docker stop 容器Id
- 重启容器:即先停止再启动
docker restart 镜像ID
- 查看当前容器
1.查看当前运行的容器
docker ps
2.查看所有容器
docker ps -a
- 删除容器
docker rm -f 镜像Id
- 进入容器的两种方式:1.attach 2.exec
docker attach 镜像Id
docker exec -it 镜像Id /bin/bash
总结
本文主要带大家了解了部分云原生以及容器的小部分概念,以及镜像和容器基本操作的一些命令,有了这些基础,在后续使用容器也是非常重要的。