目录
帮助命令
镜像命令
容器命令
帮助命令
#1.显示docker的版本信息。
docker version
#2.显示docker的系统信息,包括镜像和容器的数量
docker info
#3.帮助命令
docker --help
#4.查看docker版本
docker -v或 docker --version
#帮助文档的地址:
https://docs.docker.com/engine/reference/commandline/build/
镜像命令
1. 查看所有本地的主机上的镜像
# 1.命令
docker images
# 信息解释
#REPOSITORY # 镜像的仓库源
#TAG # 镜像的标签
#IMAGE ID # 镜像的id
#CREATED # 镜像的创建时间
#SIZE # 镜像的大小
# 2.可选项命令
"""
-a, --all Show all images (default hides intermediate images) #列出 所有镜像
-q, --quiet Only show numeric IDs # 只显示镜像的id
"""
docker images -q #显示所有镜像的id
docker images -aq #显示所有镜像的id
2.搜索镜像
# 1.搜索镜像
docker search 镜像名
"""
解释
NAME:仓库名称
DESCRIPTION:镜像描述
STARS:用户评价,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的
"""
# 2.可选项命令
filter 过滤
如下图搜索 收藏超3000千的mysql镜像
3.下载镜像
docker pull 镜像名称:版本号(可选项,不写默认拉取最新的)
'''
docker pull centos:centos7.7.1908 # 下载指定版本
docker pull centos #下载最新版本
'''
4.删除镜像
# 前提注意:要删除镜像,必须要删除该镜像所有产生相关的容器
1.#删除单个指定的镜像
docker rmi -f 镜像id
#2.#删除多个指定的镜像
docker rmi -f 镜像id 镜像id 镜像id 镜像id
3.#删除全部的镜像:搜索出所有镜像ID递归删除
docker rmi -f $(docker images -aq)
容器命令
1.创建容器
1.创建容器
docker run [可选参数] 镜像名或镜像ID
docker container run [可选参数] 镜像名或镜像ID
‘’‘
-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
--name :为创建的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
-P(大写) 随机指定端口
’‘’
2.示例
docker run -it centos /bin/bash
实例
1.nginx
#1. 搜索镜像 search 建议大家去docker搜索,可以看到帮助文档
#2. 拉取镜像 pull
#3. 运行测试
# -d 后台运行 # --name 给容器命名 # -p 宿主机端口:容器内部端口
#4.命令
docker run -d --name nginx00 -p 3344:80 nginx
# 5.浏览器输入ip:3344,即可访问nginx
2.tomcat
docker run -d -p 8080:8080 --name tomcat01 tomcat
#宿主机上:测试访问有没有问题
curl localhost:8080
# 发现问题:
1、linux命令少了。
2.没有webapps # 阿里云镜像(阉割版),它为保证最小镜像,将不必要的都剔除了→保证最小可运行环
境!
2.退出容器
#1.从容器退回主机
[root@95039813da8d /]# exit
#2.容器不停止退出
ctrl +P +Q
3.查看容器
#1.查看正在运行的容器
docker ps
#2.查看所有容器
docker ps -a
#3.查看停止的容器
docker ps -f status=exited
'''
-a, --all Show all containers (default shows just running)
-n, --last int Show n last created containers (includes all states) (default -1) -q, --quiet Only display numeric IDs
'''
#4.显示所有容器的id
docker ps -aq
#5.显示最近创建的容器个数
docker ps -a -n=1
4.删除容器
#1.删除容器(注意正在运行的容器无法删除)
docker rm 容器名称(容器ID)
#2.强制删除容器(包括正在运行的)
docker rm -f 容器名称(容器ID)
# 强制删除所有容器(包括正在运行的)
docker rm -f $(docker ps -aq)
或
docker ps -a -q|xargs docker rm
5.容器的启动与停止
#1.启动已有的容器
docker start 容器id/名字
#2.重启容器
docker restart 容器id/名字
#3.停止当前正在运行的容器
docker stop 容器id/名字
#4.强制停止当前容器
docker kill 容器id/名字
6.容器元数据
# 命令 docker inspect 容器id #测试 ➜
docker inspect 55321bcae33d
7.查看容器内进程信息
# 宿主机执行
docker top 容器id/容器名
8.进入正在运行的容器
1.进入正在运行的容器()
docker exec -it 容器名称(或者容器ID) /bin/bash
或
docker exec -it 容器名称 (或者容器ID) sh
参数说明:
-i: 交互式操作。
-t: 终端。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
要退出终端,直接输入 exit:
2.
docker attach 容器id
3.区别
docker exec #进入当前容器后开启一个新的终端,可以在里面操作。(常用)
docker attach # 进入容器正在执行的终端
9.容器内文件拷贝到宿主机上
#1.命令(宿主机环境下执行)
docker cp 容器id或容器名:容器内路径 主机目的路径
3注意
无论容器是否运行,只有存在就可以
# 在宿主机上执行