docker的常用命令
docker帮助命令
docker version #显示docker的版本信息
docker info #显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help #帮助命令
docker的镜像命令
docker pull 镜像名称 #拉取镜像
docker pull 镜像名[:版本]
docker images # 查看所有本机的镜像
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest 1b6b1fe7261e 11 days ago 647MB
hello-world latest bf756fb1ae65 4 months ago 13.3kB
#解释
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的创建时间
SIZE 镜像的大小
#可选项
-a #列出所有镜像
-q #只显示镜像的id
docker search 搜索镜像
docker search 镜像名称 #搜索镜像 比如:docker search mysql
docker rmi 删除镜像
docker rmi 镜像id或镜像名 #删除镜像
docker rmi -f 镜像id 镜像id 镜像id #删除多个镜像
docker rmi -f $(docker images -aq) #删除全部的镜像
docker的容器命令
新建容器并启动
docker run [可选参数] images /bin/bash
#参数说明
--name="Name" 容器名字 tomcat01 tomcat02 用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080
-p 主机端口:容器端口 (常用)
-p 容器端口
#从容器中退回主机
exit
列出所有的运行的容器
docker ps #查看当前运行的所有容器
docker ps -a #查看所有运行的容器+历史运行过的容器
docker ps -aq #查看所有的容器编号
退出容器
exit #容器停止并退出
Ctrl + P + Q #容器不停止退出
删除容器
docker rm 容器id #删除指定的容器,不能删除正在运行的容器
docker rm -f $(docker ps -aq) # 删除所有的容器
docker ps -a -q|xargs docker rm #删除所有的容器
启动和停止容器的操作
docker start 容器id #启动容器
docker stop 容器id #停止当前正在运行的容器
docker restart 容器id #重启容器
docker kill 容器id #强制停止当前容器
其他常用命令
后台启动容器
docker run -d images #后台运行
#容器使用后台运行,就必须要用前台进程,docker发现没有应用,就会自动停止
查看日志
#显示日志
--tf #显示日志
--tail number #要显示日志条数
docker logs -tf --tail 容器id
查看容器中的进程信息
# 查看进程信息
docker top 容器id
查看容器的源数据
#查看容器的源数据
docker inspect 容器id
进入当前正在运行的容器
#方式一
docker exec -it 容器id /bin/bash
#方式二
docker attach 容器id
#docker exec #进入容器后开启一个新的终端,可以在里面操作(常用)
#docker attach #进入容器正在执行的终端,不会启动新的进程
从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的的主机目录
装个tomcat
#下载tomcat
docker pull tomcat:9.0
#启动运行
docker run -d -p 8080:8080 --name tomcat02 tomcat
#进入容器
docker exec -it tomcat02 /bin/bash
#发现问题
没有webapps
commit镜像
docker commit #提交容器成为一个新的副本
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[version]
实战测试
# 1、启动一个默认的tomcat
# 2、发现这个默认的tomcat是没有webapps应用的, 镜像原因,官方的镜像默认webapps下面是没有文件的
# 3、我自己拷贝进去了基本的文件
# 3、将我们操作过的容器通过commit提交一个镜像!我们以后就使用我们修改过的镜像即可,这就是我们自己的一个修改的镜像
[root@localhost /]# docker commit -m="add webapps app" -a="yiming" d49e7ef88130 mytomcat:1.0
sha256:e34f0f60653ed0ed3d8e82c256c36b55fa9a67a45f5269d106d705855c6bc959
查看镜像
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mytomcat 1.0 e34f0f60653e 36 seconds ago 652MB
tomcat latest 1b6b1fe7261e 11 days ago 647MB
hello-world latest bf756fb1ae65 4 months ago 13.3kB
如果想要保存当前容器的状态,就可以通过commit来提交,获得一个镜像