一、几个重要的概念
在使用docker时,我们得先弄清楚docker的几个重要的概念
1)Docker生态
Docker生态就像 iPhone 的生态一样,Docker仓库相当于 IPhone 的 App Store,docker自身程序相当于IOS系统。
2)Registry和Repository
Registry:注册服务器,用于管理镜像仓库,起到的是服务器的作用。
Repository:镜像仓库,用于存储具体的docker镜像,起到的是仓库存储作用。
3)镜像与容器
镜像(image):指的是以分层的、可以被 LXC/libcontainer 理解的文件存储格式。Docker的应用都是以这种格式发布到Docker仓库中,供大家使用。
可以理解为打包后的环境和应用。
容器(container):把应用镜像从 Docker 仓库下载到本地机器上,以镜像为模板,在一个容器类虚拟机中把这个应用启动,这个虚拟机叫做容器。可以理解为相当于在windows上运行了一个程序。
可以先简单的理解,仓库中的应用都以镜像存在,从仓库中拉取镜像到本地的,叫容器。
二、docker常用命令
1、镜像的操作
Build、Pull、Run这三个操作贯穿整个镜像的操作,后面会举栗子讲到
1)列出本地所有的镜像
docker images 或者 docker image ls(新版docker命令)
2)查看镜像
从Docker Hub查找镜像
docker search mysql(镜像名称)
3)下载镜像
docker pull mysql:5.7
说明:这里的5.7是指TAG版本号,可以到hub.docker.com上面查看。
当不使用Tag的时候,默认会使用latest进行标记。
4)获取容器/镜像的元数据
docker image inspect mysql:5.7
5)删除镜像
docker rmi -f mysql:5.7
rmi:删除本地一个或多少镜像 -f :强制删除
2、容器的操作
1)创建一个新的容器并运行
docker run --name -d(后台运行) -p(端口映射:宿主机端口对应容器开放的端口) -e(配置环境变量) MYSQL_ROOT_PASSWORD=1234 mysql:5.7
2)在运行的容器中执行命令
-i 交互模式
-t分配一个伪终端
-it在容器中开启一个交互模式的终端
docker container exec -it mysql /bin/bash
3)列出容器
docker ps (列出所有在运行的容器信息)
docker ps -l(是显示最新创建的容器包括所有状态)
4)强制删除容器
docker rm -f mysql
或者 docker rm 1153a1996288(容器ID:container id)
原文:https://www.cnblogs.com/hld123/p/12733516.html