Docker的基本组成
镜像(image):
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像==》run==》tomcat01容器(提供容器服务),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。
容器(container):
Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的
启动,停止,删除,基本命令
目前就可以把这个容器理解为就是一个简易 的linux系统
仓库(repository):
仓库就是存放镜像的地方
仓库分为共有仓库和私有仓库
Docker hub (默认是国外的)
阿里云…都有容器服务器(配置镜像加速)
安装Docker
#环境准备
[root@localhost docker]# uname -r
3.10.0-1160.el7.x86_64
[root@localhost /]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
第1步:卸载旧的版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
第2步:安装需要的安装包
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo #官方源,国外,下咋爱素服慢
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #推荐使用阿里云的源,十分的快
第3步:更新软件包索引
yum makecache fast
第4步:安装docker docker-ce 社区版 docker-ee 企业版
yum install docker-ce docker-ce-cli containrd.io
第5步:启动docker
systemctl start docker
第6步:检验docker是否启动成功
docker version
第7步:测试
docker run hello-world
第8步:查看下载的这个hello-world镜像
docker images
docker run 的运行流程图
底层原理
Docker是怎么工作的?
Docker是一个 Client - Server 结构的系统,Docker的守护进程运行主机上,通过Sockets从客户端访问
DockerServer接收到Docker - Client的指令就会执行这个命令
Docker的常用命令
帮助命令
docker version #显示docker的版本信息
docker info #显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help #帮助命令
镜像命令
docker images 查看所有本地的主机上的镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 3 months ago 13.3kB
# 解释
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的创建时间
SIZE 镜像的大小
# 可选项
-a, --all #列出所有镜像
-q, --quiet #只显示镜像id
docker search 搜索镜像
[root@localhost ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 10949 [OK]
mariadb MariaDB Server is a high performing open sou… 4139 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 813 [OK]
# 可选项,通过收藏来过滤
-f, --filter=STARS=3000 -->搜索出来的镜像就是STARS大于3000的
[root@localhost ~]# docker search mysql --filter=STARS=3000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 10949 [OK]
mariadb MariaDB Server is a high performing open sou… 4139 [OK]
docker pull 下载镜像
[root@localhost ~]# docker pull mysql
Using default tag: latest
# 指定下载版本
[root@bogon ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
docker rmi 删除镜像
[root@bogon ~]# docker rmi mysql #删除指定的镜像
Untagged: mysql:latest
[root@bogon ~]# docker rmi mysql:5.7
Untagged: mysql:5.7
# 可选项
-f, --force #强制删除
[root@bogon ~]# docker rmi -f 镜像id 镜像id # 删除多个容器
[root@bogon ~]# docker rmi -f $(docker images -aq) # 删除全部的镜像
容器命令
说明:我们有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习
docker pull centos
新建容器并启动
[root@bogon ~]# docker run [可选参数] image
# 参数说明
--name="NAME" 容器名字 tomcat01 tomcat02 ,用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-</