帮助命令
docker version //版本信息docker info //系统信息docker 命令 --help //帮助命令
镜像命令
列出镜像docker images
[root@izwz9i11llygg6kvs2igtmz init.d]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEhello-world latest bf756fb1ae65 7 months ago 13.3kBrespository 仓库源tag 版本号imageId 镜像idcreated 镜像创建时间size 镜像大小#可选项-a,-all 列出所有镜像-q,--quiet 只显示镜像的id
搜索镜像
命令行 docker search 镜像名[:tag]
ps:版本必须是官网上支持的版本
下载镜像
docker pull[:tag]
[root@izwz9i11llygg6kvs2igtmz init.d]# docker pull mysql:5.75.7: Pulling from library/mysql6ec8c9369e08: Pull complete177e5de89054: Pull completeab6ccb86eb40: Pull completee1ee78841235: Pull complete09cd86ccee56: Pull complete78bea0594a44: Pull completecaf5f529ae89: Pull complete4e54a8bcf566: Pull complete50c21ba6527b: Pull complete68e74bb27b39: Pull complete5f13eadfe747: Pull completeDigest: sha256:97869b42772dac5b767f4e4692434fbd5e6b86bcb8695d4feafb52b59fe9ae24Status: Downloaded newer image for mysql:5.7docker.io/library/mysql:5.7
删除镜像
docker rmi -f $(docker images -aq) 递归删除所有镜像docker rmi -f 镜像Id/镜像名
容器命令
创建镜像
docker pull centos
创建并进入容器
docker run[可选参数] image# 参数说明--name="Name" 容器名字 tomcat01,tomcat02-d 后台方式运行-it 交互方式运行-p 指定容器端口-p ip:主机端口:容器端口-p 主机端口:容器端口(常用)-p 容器端口-P 随机指定端口(大写p)
docker run -it centos /bin/bash[root@izwz9i11llygg6kvs2igtmz init.d]# docker run -it centos /bin/bash[root@a3e59b152b52 /]#a3e59b152b52 这个其实就是容器ID
退出容器
exit //停止容器命令ctrl +p +q //退出容器
删除容器
不能删除正在运行的容器
docker rm 容器iddocker rm -f 容器id 强制删除docker rm -f $(docker ps -aq) 删除所有容器
进程
docker ps-a 显示正在运行的容器-n=? 显示最近创建的容器-q 只显示容器编号
启动和停止容器的操作
区别run命令,这边的是说docker服务,相当于如果你关掉容器,它就会消失
docker start 容器iddocker restart 容器iddocker stop 容器iddocker kill 容器id
常用其他命令
后台启动容器
docker run -d contos坑:启动的容器必须要有前台程序支持,如果启动一个空容器,它会自己结束进程
查看日志
docker logs -tf --tail 容器-t 显示时间戳-f follow日志--tail number 显示最后几行日志
查看容器中进程信息
docker top 容器idPID 当前进程idPPID 容器中该进程id
查看容器的元数据
docker inspect 容器id
进入当前运行的容器
//方式1 (常用)docker exec -it 容器id bash//方式2docker attach 容器id容器里面有终端概念,也就是我们xshell打开的这种终端的意思,方式1是开新终端,方式2是进入在运行的终端
拷贝文件
在服务器上命令行下 - 将容器的文件拷贝到服务器上
docker cp a940cbe93953:/home/copyfile.java /homedocker cp 容器id:容器里的文件路径 本机路径ps:拷贝只是一个手动过程,后期会用-v 卷的技术来自动同步
//详细操作日志[root@a940cbe93953 home]# lscopyfile.java[root@izwz9i11llygg6kvs2igtmz /]# lsbin boot dev etc home lib lib64 lost+found media mnt opt patch proc root run sbin srv sys tmp usr var www[root@izwz9i11llygg6kvs2igtmz /]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa940cbe93953 centos "/bin/bash" 5 minutes ago Up 4 minutes focused_mahavira[root@izwz9i11llygg6kvs2igtmz /]# docker cp a940cbe93953:/home/copyfile.java /home[root@izwz9i11llygg6kvs2igtmz home]# lsapache-tomcat-8.5.57 apache-tomcat-9.0.37 copyfile.java redisapache-tomcat-8.5.57.tar.gz apache-tomcat-9.0.37.tar.gz jdk-8u261-linux-x64.rpm www
基本流程(个人整理)
docker run -it image //创建容器docker ps -a //显示所有在运行的容器docker exec/attach 容器id //进入正在运行容器的终端exit //停止容器ctrl +p +q //退出容器ctrl +c //停止容器docker kill $(docker ps -aq) //批量停止容器
镜像是镜像,容器是容器,run镜像的时候就会创建一个对应的容器。

