一)帮助命令
docker version;
docker info; //详细的列车docker的版本,container版本,cpu资源,仓库等等信息;
docker --help; // 类似man命令,各种命令帮助
二)镜像命令
docker images;
列出本机上所有的镜像,
REPOSITORY(镜像源) TAG(标签) IMAGE ID CREATED SIZE
docker images -a //列出本机所有的镜像,包含中间层镜像
docker images -q //仅显示镜像id
b1c8142b3efc
fce289e99eb9
docker images --digests //显示镜像摘要信息
docker images --no-trunc //显示镜像详细信息
docker search
到dockerhub仓库上面查询镜像,下载的时候可能到阿里docker仓库
docker search redis
网页版搜索:https://hub.docker.com/ 网页版信息更丰富
docker search -s 30 <redis> //点赞数大于30的镜像
--no-trunc //显示完整的镜像描述
--automated //只列出非官方的镜像
docker pull
拉去镜像,docker pull redis //== docker pull redis:latest最新版本, redis:3.2指定版本
docker rmi -f hello-world //删除hello-world, 最新的那个镜像, 一般需要带上版本号: hello-world:3.3
如果镜像正在跑,需要加 -f
docker rmi -f hello-world nginx ... 可以删除多个
docker rmi -f $(docker images -qa) //删掉所有镜像
启动容器
docker run [options] imageName [参数]
--name="容器新名字": 为容器起一个名字
-d: 后台运行容器,返回容器id
-i: 以交互模式运行容器,通常与-t同时使用, exit可以退出
- t: 为容器重新分配一个伪输入终端,通常与-i同事使用;
-P : 随机端口映射
-p : 指定端口映射,四种格式:
ip: hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
docker ps -l //列出上一个运行的容器,-a列出正在和已经运行过的容器, -n:显示最近n个创建的容器; -q:只列出容器编号,批量操作常用到
虚拟机下面不杀容器退出: Ctrl + p + q
docker ps -n 4 //列出最近的4个docker容器
docker start/restart 容器ID //启动、或者重启容器
docker stop 容器ID //合法关闭容器
docker kill 容器ID //强制关闭容器,粗暴
docker rm -f 容器ID //删除已经停止的容器,如果容器还没有停止就需要加 -f
docker rm -f $(docker ps -aq) 或者 docker ps -aq | xargs docker rm //删除所有容器
容器运行的命令如果不是那些一直挂起的命令(top, tail等),而且没有前台进程(以守护进程方式启动),它会自动退出!!!
docker run -d redis //以守护进程方式跑redis
docker logs -f -t --tail 容器ID //查看容器日志, -t加入时间, -f跟随最新的日志打印,--tail数字显示最后多少条
docker top 容器ID //可以查看容器内正在跑的进程,这里可以用大部分的Linux在docker里面跑,如 ps, ls ...
docker inspect 容器ID //以json格式返回docker里面的信息。
docker attach 容器ID //重新进入正在跑着的容器
docker exec -t 容器ID ls -l /tmp //进入容器执行后面的命令,然后不杀容器退出,如果命令不是马上退出,会停留在容器内: docker exec -t 容器ID /bin/bash 命令就会在容器内停留
docker cp 容器ID:/tmp/2.txt /tmp //把docker容器里面/tmp/2.txt 文件拷贝到主机/tmp目录下面
自制镜像并提交到远程仓库
docker run -it -p 宿主机ip:容器ip 镜像 //指定主机与容器端口映射方式启动容器,docker run -it -p 8888:8080 tomcat 表示主机端口是888,tomcat容器端口8080启动。-P 本地端口随机: docker run -it -P tomcat
可以通过docker exec -it 容器ID /bin/bash 进入容器,添加删除一些文件之后,使用命令
docker commit -a='author name' -m='modify message' 容器ID aaa/tomcat02:1.2 生成这个修改过的容器镜像。
然后 docker run -it -p 7777:8080 aaa/tomcat02:1.2 就可以启动我们自己定制的容器了。