docker:可理解为容器,主要是解决环境迁移的问题,将环境放入docker中,打包成镜像。
docker的基本组成:镜像(image),容器(container),仓库(repository)。镜像相当于类,容器相当于类的实例对象,同一个镜像文件,可以生成多个同时运行的容器实例。
镜像是静态的定义,容器是镜像运行时的实体,镜像文件生成容器实例,镜像文件本身也是一个文件,成为镜像文件、
容器是用镜像创建的运行实例,类似于虚拟化的运行环境,应用程序或服务运行在容器里面。容器可以被启动,开始,停止,删除。每个容器是相互独立的。可以把容器看作是一个简易版的Linux环境(包括root用户权限,进程空间,用户空间和网络空间等)
仓库:集中存放镜像文件的场所,分为公开仓库和私有仓库两种形式。docker公司提供的官方仓库为Docker Hub(https://hub.docker.com/)(最大的公开仓库),存放各种镜像模板的地方。我们可以把镜像发布到仓库中(类似于github),需要的时候从仓库中拉下来即可
docker常用指令:
1.(sudo) systemctl start docker 启动docker,systemctl restart docker 重新启动docker
2.docker version 查看docker版本
3. docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 用于创建并启动一个新的 Docker 容器
OPTIONS
:这是可选的标志,用于指定运行容器的配置和行为。IMAGE
:这是你要运行的 Docker 镜像的名称或 ID。COMMAND
和ARG...
:这是要在容器内运行的命令及其参数。
docker run -it 镜像名 bash
#it表示交互,宿主机和容器可以交互,bash表示容器的指令
docker run --help
#查看run指令的其余参数
run的流程图解
4. 卸载docker,依次输入下面4条指令,其中第三条,第四条为删除docker相关文件
5.docker images 查看所有镜像
5.1 docker ps ,查看容器
5.2 docker ps -a ,查看所有容器
6.docker search 镜像名 ,查找某镜像
注第一列name中好多redis,代表不同版本的redis,我们可以通过official参数发现第一个是官方的
docker search --limit 5 redis,查找排名前5的redis镜像。
7.docker pull 镜像名,下载镜像
8.docker system df ,查看镜像/容器/数据卷所占的空间
9.docker rmi 镜像ID,删除某个镜像,docker rmi -f 镜像ID,强行删除某个镜像,
10.进入容器
docker exec -it 容器id bash
11.退出容器
exit
#容器终端直接输入exit,此时容器会停止
12.启动已经停止的容器
docker start 容器名或容器id
13.删除已经停止的容器
docker rm 容器名或容器id
#只能删除已经停止的容器,rmi为删除镜像,i为image
docker rm -f 容器名或容器id
#强制删除容器