docker 入门操作 —— 基本常用命令

docker 入门操作 —— 基本常用命令

  • docker 和虚拟机的不同
  • docker 的优点
    • 快速的交付和部署
    • 快捷的升级和扩容
    • 简单化的系统运维
    • 高效的计算资源利用
  • 安装docker
  • 配置腾讯云镜像
    • 镜像地址
  • docker 的常用命令
    • 帮助命令
    • 镜像命令
      • 查看当前 docker 的镜像
      • 搜索 docker 镜像
      • 下载镜像
      • 删除镜像
    • 容器命令
      • 运行容器
      • 进入容器
      • 退出容器
      • 列出容器
      • 删除容器
      • 启动和停止容器
    • 其他常用命令
      • 查看容器日志
      • 查看容器进程
      • 查看容器元数据
      • 拷贝数据

docker 和虚拟机的不同

虚拟机是虚拟一套硬件,运行一个完整的操作系统,之后再这个系统上安装和运行软件
docker是容器化技术,不是模拟一个操作系统;容器内的应用运行在宿主机上,是没有自己的内核的,也没有虚拟一套硬件;每个容器都有属于自己的文件系统,互不干扰

docker 的优点

快速的交付和部署

与传统的不同,docker 可以通过打包为镜像一键运行

快捷的升级和扩容

项目被打包为一个镜像,因此在升级或者扩容时,可以直接升级整个镜像或者把镜像部署到其他服务器

简单化的系统运维

容器化之后,开发,测试等环境都可以做到高度一致

高效的计算资源利用

docker 是内核级别的虚拟化,因此可以在一个物理机运行多个容器实例,资源运用到极致

安装docker

本文章所用 docker 为 windows 版本,所用命令通用 linux 版等 docker,可以放心阅读

docker安装地址

windows 上打开 Windows PowerShell 操作运行!!!

# 查看docker版本
docker version

docker 入门操作 —— 基本常用命令_第1张图片
出现图中信息说明 docker 安装成功

配置腾讯云镜像

docker 入门操作 —— 基本常用命令_第2张图片

镜像地址

"registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
 ]

也可以使用阿里云的镜像地址(阿里云上查找容器镜像服务,点击镜像加速器,根据系统选择适合的镜像加速地址)

docker 的常用命令

帮助命令

docker version # docker 的版本信息
docker info # 查看 docker 的镜像和容器数量,加速源等信息

docker 全命令帮助文档

镜像命令

查看当前 docker 的镜像

docker images

#-a 查看全部镜像
#-q 查看镜像id

搜索 docker 镜像

dockerhub 网址

docker search 镜像名称

下载镜像

docker pull 镜像名称 # 默认下载最新版本,指定版本可在镜像名称后添加 :tag tag表示版本号

删除镜像

docker rmi -f 容器id,容器id... # 容器id可以通过 [docker images] 命令查看
docker rmi -f $(docker images -aq)  # 删除全部镜像,通过遍历的方式

容器命令

运行容器

docker run [参数] 镜像名称
# 参数
# --name 容器名字,用来区分容器
# -d 后台的方式运行
# -it 使用交互的方式运行,可进入容器查看内容
# -p 指定端口 -p 8081:8080 前一个端口表示主机端口,后一个表示容器端口

# 例如 docker run --name tomcat01 -d -p 8081:8080 tomcat 
# 启动一个名为tomcat01的容器,访问端口号为8081

后台启动容器,例如启动 centos ,当 docker 发现当前没有应用或者没有提供服务,就会自动停止,无法启动,nginx…等也是如此,当然,通过交互方式启动,只要在不退出的情况下就会一直启动,也可以通过 [Ctrl+ P + Q] 让容器不停止退出

进入容器

docker exec -it 容器id /bin/bash  # 进入正在后台运行的容器,并打开一个新的终端(常用)
docker attach 容器id  # 进入正在后台运行的容器,不会开启新的终端

退出容器

exit # 退出并停止容器
Ctrl+ P + Q  # 退出不停止容器 不是输入,而是按键

列出容器

docker ps  # 列出当前运行的容器信息
-a  # 列出所有容器信息(包含已经关闭的容器)
-q  # 列出所有容器id
-n=number #  列出最近几条信息

删除容器

docker rm 容器id  # 删除不在运行的容器,强制删除使用rm -f 
docker rm -f $(docker ps -aq)  # 删除所有容器

启动和停止容器

docker start 容器id      # 启动容器
docker restart 容器id    # 重新启动容器
docker stop 容器id       # 停止容器
docker kill 容器id       # 强制停止容器

其他常用命令

查看容器日志

docker logs [参数] 容器id 
-tf   # 查看所有日志
--tail number   # 表示查看日志条数

查看容器进程

docker top 容器id 

查看容器元数据

docker inspect 容器id 

拷贝数据

docker cp 容器id:容器内路径 目标路径
# docker cp 2385ab5d487a:/demo.js E:\测试
# 适合非同个容器进行拷贝

cp -r 拷贝路径 目标路径
# -r 向下遍历
# cp -r webapp.dist/* webapps
# 适合同个容器内进行

本文章内容通过视频总结而来,如有不足或者错误之处,欢迎各位大神指教

你可能感兴趣的