# Docker的常用命令
* docker version #查看docker的版本信息
* docker info #显示docker的系统信息,包括镜像和容器的数量
* docker xxx -- help #帮助命令,可以显示docker的所有命令
---
# 镜像命令
* docker images #查看所有本地的主机的镜像
* REPOSITORY :镜像的仓库源
* TAG :镜像的标签
* IMAGE ID :镜像的ID
* CERATED :镜像的创建时间
* SIZE :镜像的大小
* docker images [可选项]
* -a,--all # 列出所有镜像
* -q,--quiet # 只显示镜像的ID
* docker search 镜像名 # 搜索镜像
* 可选项,通过搜过过滤 --filter-STARS=3000 #搜索出来的镜像修饰STARS大于3000的
* 下载镜像 docker pull 镜像名 [:tag] # 下载镜像,默认是下载最新版 latest
* 删除镜像
* 删除镜像 ( -f就是全部删除,后面的条件是根据什么来删除,这里是根据容器的id进行删除)
* docker rmi -f 容器id
* 删除多个镜像
* docker rmi -f 容器id 容器id 容器id
* 删除所有的镜像
* docker rmi -f $(docker images -aq)
---
# 容器命令
说明:我们有了镜像才可以去创建容器
* 下载镜像
* docker pull xxx (xxx为镜像名称)
* 例如下载centos镜像
* docker pull centos
* 新建容器并启动
* docker run [可选参数] image
* 参数说明:
* --name="Name" : 容器名字 ,tomcat01、tomcat02,用来区分容器
* -d :后台方式运行
* -it:使用交互方式运行,进入容器查看内容
* -p :指定容器的端口 -p 8080:8080
* -p ip:主机端口:容器端口
* -p 主机端口:容器端口(常用方式)
* -p 容器端口
* -p : 随机指定端口
* 测试,启动并进入容器
* docker run -it xxx /bin/bash #启动容器(xxx为容器名称)
* 例如启动进入centos镜像
* docker run -it centos /bin/bash
* 进入容器内部 sudo docker exec -it 容器id /bin/bash
* 列出所有运行中的容器
* docker ps [可选参数] # 列出当前正在运行的程序
* -a #列出当前正在运行的容器+带出历史运行过的容器
* -n=? #显示最近创建的容器
* -p #只显示容器的编号
* 退出容器
* exit # 直接停止容器并退出
* Ctrl + P + Q # 容器不停止退出
* 删除容器
* docker rm 容器id # 删除指定的容器,不能删除正在运行的容器
* docker rm -f $(docker ps -aq) # 删除所有的容器
* docker ps -a -q|xargs docker rm # 删除所有的容器
* 启动和容器的操作
* docker start 容器id # 启动容器
* dock er restart 容器id # 重启容器
* docker stop 容器id # 停止正在运行的容器
* docker kill 容器id # 强制停止当前正在运行的容器
# 常用的其他命令
* 后台启动容器
* docker run -d 镜像名
* 例如后台启动centos镜像
* docker run -d centos
* 常见的坑:docker容器使用后台运行的时候就必须要一个前台线程,不然docker发现没有应用就会自动停止
* 查看系统CPU状态
* docker stats [容器id]
* 查看容器中进程信息
* docker top 容器id
* 查看镜像中的元数据
* docker inspect 容器id
* systemctl start docker 启动
* systemctl daemon-reload 守护进程重启
* systemctl restart docker 重启docker服务
* systemctl stop docker 关闭
# 将镜像打包成tar包
* docker save 镜像名称(或镜像id) > 路径/路径/名字.tar
# 将容器生成新的镜像
* docker commit [containerid] [new_imagename] (容器必须正在运行)
# tar包生成镜像
* docker load -i 名字.tar
# 镜像更名
* docker tag 镜像id 名称:tag
# docker-compose 安装
* sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
* sudo chmod +x /usr/local/bin/docker-compose
* 查看版本 docker-compose --version
# 根据Dockerfile来创建镜像
* docker build -t 镜像名称 路径
# 容器里面拷文件到宿主机
* docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 (宿主机里面执行)
# 从宿主机拷文件到容器里面
* docker cp 要拷贝的文件路径 :要拷贝到容器里面对应的路径(宿主机里面执行)