当前位置: 首页 > news >正文

速通Docker === 常用命令

目录

Docker命令

镜像操作

容器操作

基础操作

启动参数

 容器内部操作

打包成指定文件

发布镜像 

总结

镜像操作

容器操作

启动容器参数

容器内部操作

打包镜像

启动指定镜像的容器

发布镜像


Docker命令


启动一个nginx,并将它的首页改为自己的页面,发布出去,让所有人都能使用

Docker仓库地址: https://hub.docker.com/

镜像操作

# 搜索镜像
docker search nginx# 下载镜像
docker pull nginx# 下载指定版本镜像
docker pull nginx:1.26.0# 下载最新版本镜像
docker pull nginx:latest# 查看所有镜像
docker images# 删除指定id的镜像
docker rmi e784f4560448

容器操作

基础操作

# 运行一个新容器
# 使用docker run 时若不指定版本,默认为最新版本,若本地没有最新版本则自动拉取
# 启动容器后命令窗口不可关闭,否则服务停止
docker run nginx# 查看运行中的容器
# CONTAINER ID:容器ID, IMAGE:镜像, COMMAND:启动命令, CREATED:启动时间
# STATUS:启动状态(Up 已启动, Exited 已停止), PORTS:端口, NAMES: 容器名称(随机命名)
docker ps# 查看所有容器
docker ps -a### 启动容器 ###
# 根据容器ID 
docker start 87e68fccff21
# 可以用容器ID的前几位,能够和其他容器区分即可 
docker start 87e
# 可以根据容器名 NAMES
docker start great_noyce### 停止容器 ###
# 可以根据容器ID  
docker stop c9cd218ec15b
# 可以用容器ID的前几位,能够和其他容器区分即可 
docker stop c9c
# 可以根据容器名 NAMES  
docker stop sharp_montalcini# 重启容器 
# 同上,可使用容器ID,容器ID前缀,容器名称
# 无论是否已启动,均可使用
docker restart 592# 查看容器资源占用情况
# 同上,可使用容器ID,容器ID前缀,容器名称
docker stats 592# 查看容器日志
# 同上,可使用容器ID,容器ID前缀,容器名称
docker logs 592# 删除指定容器
# 同上,可使用容器ID,容器ID前缀,容器名称
# 删除的前提时并未使用
docker rm 592
# 若在使用中,可使用 force 强制删除
docker rm -f 592

启动参数

# 后台启动容器
# 后台启动时可以给容器指定命名,否则会随机命名
docker run -d --name mynginx nginx
# 后台启动并暴露端口 
# 端口映射 -p 外部端口:内部端口 88:80 将内部的80端口映射到外部的88端口上
# 因为容器之间是相互隔离的,多个容器之间内部端口可以重复
# 外部端口对应当前主机的端口,不可重复
docker run -d --name mynginx -p 80:80 nginx

 容器内部操作

# 进入容器内部
# exec:是 docker 的一个子命令,用于在运行的容器中执行一个新的命令
# 使用 it 进入交互模式
# /bin/bash:这里指定的是启动 bash shell, bash 是一种常用的 Unix shell,它提供了一个命令行界
# 面,让用户可以输入命令来与操作系统交互
docker exec -it mynginx /bin/bash# 例如修改Nginx首页内容,切换到 /usr/share/nginx/html
# docker 内部也是linux系统 有完整的文件系统
ls / 
cd /usr/share/nginx/html
echo "<h1>Hello Nginx </h1>" > index.html
cat index.html# 退出容器
exit

打包成指定文件

# 提交容器变化打成一个新的镜像
# 打包的镜像名必须小写
# 新镜像创建成功后 可使用 docker images 查看
docker commit -m "update Nginx index.html" myNginx shiguangnginx:v1.0.0# 保存镜像为指定文件
# -o 打包输出的格式
docker save -o mynginx.tar shiguangnginx:v1.0.0# 加载镜像 
# i指定压缩包在哪
docker load -i mynginx.tar # 启动容器就是我们打包的了
docker run -d --name jiagongzinginx -p 80:80 383ccaad3d98

发布镜像 

# 登录 docker hub
# 使用用户名或者邮箱进行登录
docker login# 重新给镜像打标签
# tag 当前目录文件名 推送到远程路径仓库名
docker tag mynginx:v1.0 leifengyang/mynginx:v1.0# 可以再提交一个最新版本的镜像,不然拉取时不指定版本号会出错
docker tag mynginx:v1.0 leifengyang/mynginx:latest# 推送镜像
docker push leifengyang/mynginx:v1.0

总结

镜像操作

  • 搜索镜像docker search [镜像名称]

  • 下载镜像

    • 下载最新版本镜像:docker pull [镜像名称]:latest

    • 下载指定版本镜像:docker pull [镜像名称]:[版本号]

  • 查看所有镜像docker images

  • 删除指定id的镜像docker rmi [镜像ID]

容器操作

  • 基础操作

    • 运行一个新容器docker run [镜像名称]

    • 查看运行中的容器docker ps

    • 查看所有容器docker ps -a

  • 启动容器docker start [容器ID或名称]

  • 停止容器docker stop [容器ID或名称]

  • 重启容器docker restart [容器ID或名称]

  • 查看容器资源占用情况docker stats [容器ID或名称]

  • 查看容器日志docker logs [容器ID或名称]

  • 删除指定容器docker rm [容器ID或名称](若容器在使用中,可使用docker rm -f [容器ID或名称]强制删除)

启动容器参数

  • 后台启动容器docker run -d --name [容器名称] [镜像名称]

  • 后台启动并暴露端口docker run -d --name [容器名称] -p [外部端口]:[内部端口] [镜像名称]

容器内部操作

  • 进入容器内部docker exec -it [容器名称] /bin/bash

打包镜像

  • 提交容器变化打成新镜像docker commit -m "[提交信息]" [容器名称] [新镜像名称]:[版本号]

  • 保存镜像为指定文件docker save -o [文件名] [镜像名称]:[版本号]

  • 加载镜像docker load -i [文件名]

启动指定镜像的容器

  • docker run -d --name [容器名称] -p [外部端口]:[内部端口] [镜像ID或名称]

发布镜像

  • 登录docker hubdocker login

  • 重新给镜像打标签

    • docker tag [本地镜像名称]:[版本号] [docker hub用户名]/[远程仓库名]:[版本号]

    • 可再提交一个最新版本的镜像:docker tag [本地镜像名称]:[版本号] [docker hub用户名]/[远程仓库名]:latest

  • 推送镜像docker push [docker hub用户名]/[远程仓库名]:[版本号]

http://www.lryc.cn/news/522093.html

相关文章:

  • 【redis】键的全局命令
  • 深度学习-卷积神经网络实战文档注释
  • GR2103高压半桥栅极驱动芯片
  • 学习threejs,使用OrbitControls相机控制器
  • 说说Babylon.js中scene.deltaTime的大坑
  • 【React】win系统环境搭建
  • ThinkPHP 8的一对一关联
  • Linux 下配置 Golang 环境
  • 爬虫后的数据处理与使用(使用篇--实现分类预测)
  • arcgis提取不规则栅格数据的矢量边界
  • python milvus 如何检查有多少个collection 以及多少个index,多少个database
  • 2006-2020年各省工业增加值数据
  • 【MySQL】使用C语言链接
  • Vue篇-07
  • 使用 LLaMA-Factory 微调大模型
  • 数据仓库的复用性:模型层面通用指标体系、参数化模型、版本化管理
  • Web APP 阶段性综述
  • 某国际大型超市电商销售数据分析和可视化
  • 电子杂志制作平台哪个好
  • Django Admin 实战:实现 ECS 集群批量同步功能
  • 虚拟拨号技术(GOIP|VOIP)【基于IP的语音传输转换给不法分子的境外来电披上一层外衣】: Voice over Internet Protocol
  • 迅为RK3576开发板Android 多屏显示
  • cmake + vscode + mingw 开发环境配置
  • nginx 配置代理,根据 不同的请求头进行转发至不同的代理
  • 类模板的使用方法
  • 高级Python Web开发:FastAPI的前后端集成与API性能优化
  • 期权懂|期权的溢价率和杠杆率有什么区别?
  • 分布式ID的实现方案
  • Py之cv2:cv2(OpenCV,opencv-python)库的简介、安装、使用方法(常见函数、图像基本运算等)
  • 如何学习网络安全?有哪些小窍门?