镜像技术
docker search centos 在dockerHub上模糊搜索centos
docker search -s20 centos 在dockerHub上模糊搜索点赞数大于20的centos
docker pull tomcat 拉取
docker images 列出本地所有的镜像
docker images -q列出本地所有的镜像的id
docker rmi -f tomcat hello-world 强制删除tomcat和hello-world的镜像
容器技术
docker run id 新建并运行容器
docker run -d id 从后台运行容器
docker run -it id 以交互的方式运行容器
docker run -it --name mysentos centos 启动容器的别名为mysentos
docker run -it -p 8082:8080 tomcat 新建并启动tomcat容器
exit 退出并关闭容器
ctro+p+q 退出但是不关闭容器
docker ps 显示所有运行的容器
docker ps -a 显示所有运行时和运行过的容器
docker ps -n2 显示最后两次运行过的容器
docker ps -n2 -q 显示最后两次运行过的容器的id
docker stop id 关闭容器
docker kill id 强制关闭容器
docker start 容器名或者容器id 启动容器
docker rm 空格间隔的多个容器id 删除停止了的容器
docker rm $(docker ps -a -q) 删除所有的运行过的容器
容器技术提高
docker logs -t --tail 3 容器id 查看容器的日志 -f 跟随日志 -t加入时间戳 --tail 3查看最后面3行的日志
docker top 容器id 查看容器内运行的进程
docker inspect 容器id 以json的格式显示容器的详细信息
docker attach 容器id 进入正在运行的容器并以命令行交互(使用原先的命令交互界面)
docker exec -it 容器id /bin/bash 进入正在运行的容器并以命令行交互(启动新的命令交互界面)
docker exec -it tomcatid /bin/bash 进入正在运行的tomcat并以命令行交互
docker exec -it 容器id ls 在容器外部执行容器内部的ls命令
docker cp 容器id:/源文件路径 /目标文件路径 将docker容器中的文件拷贝到docker宿主机上(把两个地址调换即从宿主机复制到docker容器中)
docker commit -a="作者信息" -m="容器描述" 容器id 新镜像的名称 提交一个自定义镜像
docker run -it -v /宿主机绝对路径:容器内目录 容器名称 以数据卷的方式启动容器 (数据卷技术即将两个路径绑定,宿主机和容器共享这个数据)
docker run -it -v /宿主机绝对路径:容器内目录:ro 容器名称 以数据卷的方式启动容器,数据卷的内容只读(read only),即只能宿主机改动,容器只能读
docker build -f DockerFile目录 -t 自定义镜像名称 生成镜像的目录 用DockerFile生成镜像
docker build -t 自定义镜像名称 生成镜像的目录 如果在当前DockerFile 文件夹下可以直接这样生成镜像, -f DockerFile目录可以省略不写
eg:docker build -f /mydocker/Dockerfile -t mytomcat1 . 用/mydocker/目录下的DockerFile文件生成一个名叫mytomcat1的镜像,. 表示镜像放在当前目录下,-f 表示flie -t 表示命名空间
yum -y install net-tools 安装ifconfig支持
docker history 镜像id 列出镜像包装历史
docker save tomcat:latest > tomcat.tar 导出latest版本的tomcat镜像到本地,导出文件是个tar后缀的文件。导出劲量选择名字+版本好的模式,不要选择id的模式,这样导入后的镜像文件也有名称和版本号,否则没有名称和版本号。
docker load < tomcat.tar 加载tomcat.tar的镜像到docker容器中