# docker版本
docker version

################################### 容器相关

# 运行一个容器并执行命令,命令结束后容器停止
docker run ubuntu:14.04 /bin/echo 'Hello world'

# 创建交互式容器,-t 表示在新容器内指定一个伪终端或终端,-i表示允许我们对容器内的 (STDIN) 进行交互
docker run -t -i ubuntu:14.04 /bin/bash

# 容器命名,容器的名称必须是唯一的
docker run -d --name web training/webapp python app.py

# 进入某个容器

docker exec -it 容器ID /bin/bash

# 退出交互式容器
exit

# 运行一个以后台进程模式的容器
docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"

会返回一个容器ID 1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147

# 查询所有 docker 进程
docker ps

# 包含已经停止的容器
docker ps -a

# 最后启动的容器进程信息
docker ps -l

# 显示容器的标准输出
docker logs 容器名称

# 停止容器的进程
docker stop 容器名称

# 运行容器
docker start 容器名称

# 重启容器 
docker restart 容器名称

# 删除容器(正在运行不能删除)
docker rm 容器名称

# docker 运行一个web应用,-P 通知 Docker 将容器内部使用的网络端口映射到我们使用的主机上
docker run -d -P training/webapp python app.py

# 指定端口的运行一个web应用(0.0.0.0:49155->5000/tcp,代表 Docker 容器开放了 5000 端口映射到主机端口 49155 上)
docker run -d -p 5000:5000 training/webapp python app.py

# 绑定到指定网络地址和端口(将绑定容器内部5002端口到主机的localhost或者127.0.0.1的5001端口。)
docker run -d -p 127.0.0.1:5001:5002 training/webapp python app.py

# 查看某个容器的端口对应的主机端口
docker port 容器id/容器名称 容器的端口

# 查看容器的内部运行进程
docker top

# 查看Docker的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。
docker inspect 容器名称

########################################### 镜像相关

# 查看主机所有镜像
docker images

# 预先下载镜像
docker pull 镜像名称:TAG

# 搜索 Docker Hub 里的镜像
docker search 镜像名称

# 提交一个修改后的镜像 -m 提交注释 -a 作者 修改镜像前启动的容器ID 容器名称 
docker commit -m="Added json gem" -a="Kate Smith" 0b2616b0e5a8 ouruser/sinatra:v2

# 通过Dockerfile创建一个新镜像
docker build

# 给镜像添加新的标签
docker tag 镜像ID 镜像名称:新的镜像标签

# 把镜像推送到Docker Hub
docker push 镜像名称

# 从主机移除镜像
docker rmi 镜像名称

# 查看镜像的digest,v2 或后续版本格式的镜像会有内容定位标示符叫做 digest
docker images --digests

# 通过digest拉取镜像
docker pull 镜像名称@digest值

############################################### 容器连接

# 创建一个数据库的容器,命名为db
docker run -d --name db training/postgres

# 创建一个webapp容器连接到数据库的容器,命名为web(--link name:alias name是我们连接容器的名字,alias是link的别名)
# 通过 docker ps 可以看到Names 标注了db/web,代表 父容器/子容器
# 父容器通过更新 环境变量 和 /etc/hosts 文件来开放子容器连接。该连接时安全、私有的,只能在web容器和db容器之间通信。
docker run -d -P --name web --link db:db training/webapp python app.py

############################################### 容器数据管理(数据卷)

数据卷是指在存在于一个或多个容器中的特定目录,此目录能够绕过Union File System提供一些用于持续存储或共享数据的特性。

数据卷可在容器之间共享或重用
数据卷中的更改可以直接生效
数据卷中的更改不会包含在镜像的更新中
数据卷的生命周期一直持续到没有容器使用它为止

# 在容器里添加一个数据卷webapp目录
docker run -d -P --name web -v /webapp training/webapp python app.py

# 挂载本地主机目录到容器中,把本地目录/src/webapp(不存在会自动创建)挂载到容器的/opt/webapp目录
docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp python app.py

# 让数据卷只读
-v /src/webapp:/opt/webapp:ro

# 创建一个数据卷容器

docker run -d -v /dbdata --name dbdata training/postgres

# 通过刚刚创建的数据卷容器来挂载对应的数据卷 --volumes-from 数据卷容器名称

docker run -d --volumes-from dbdata --name db1 training/postgres

# 删除某个容器和数据卷
docker rm -v

Docker 常用命令汇总相关推荐

  1. Docker常用命令汇总

    Docker常用命令汇总 帮助命令 docker version docker info docker --help 镜像命令 docker images 列出本地主机上的镜像,各个选项说明如下: R ...

  2. 〖Docker指南②〗Docker常用命令汇总

    Docker常用命令汇总 1 帮助命令 2 镜像命令 2.1 列出镜像 2.2 查找镜像 2.3 下载镜像 2.4 删除镜像 3 容器命令 3.1 创建新容器并运行 3.2 列出容器 3.3 退出容器 ...

  3. 【docker】docker常用命令汇总

    目录 1. 系统启用/重启/停用docker 2. docker容器 2.1 启动容器 2.2 启动/停止/重启docker 2.3 列出容器 2.4 进入容器cli界面 2.5 docker日志查看 ...

  4. docker运行yyets_docker常用命令汇总

    docker常用命令汇总,容器,镜像,内核,版本,端口 docker常用命令汇总 易采站长站,站长之家为您整理了docker常用命令汇总的相关内容. docker安装 1.要求:linux内核在3.1 ...

  5. Docker常用命令大全(万字详解)

    小熊学Java网站:https://javaxiaobear.gitee.io/,每周持续更新干货,建议收藏! 1.帮助类启动命令 启动docker: systemctl start docker 停 ...

  6. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  7. 客快物流大数据项目(九):Docker常用命令

    目录 Docker常用命令 一.帮助命令 二.镜像命令 1.搜索镜像

  8. 扫盲 docker 常用命令

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/xuan_lu/article/details/119700854 一.docker常用命令 do ...

  9. linux常用命令汇总

    linux常用命令汇总,以便需要时快速查询 中文释义 相应命令 备注 在文件中查找 grep error catalina.out 在catalina.out文件中查找error信息 重启nginx ...

最新文章

  1. 技术图文:如何利用 C# 实现 误差反向传播 学习规则?
  2. Android滚动页面位置指示器:CircleIndicator
  3. 最简单也最难——如何获取到Android控件的高度,获取android控件
  4. 大二c语言数电课程设计,数电课程设计报告(数字钟的设计).doc
  5. DSPBuilder笔记
  6. Jupyter notebook 中使用pip install安装第三方Python包
  7. 3-35Pytorch与visdom
  8. python数据结构剑指offer-两个链表的第一个公共结点
  9. mysql无法连接10061_Day062 连接数据库异常问题记录
  10. opencv 有无判断 模板匹配_opencv模板匹配
  11. flink checkpoint 重启_Flink进阶教程:Checkpoint机制原理剖析与参数配置
  12. 马云点名的工程师,除了几百封求爱信还有13项区块链专利
  13. 程序猿应该拥有的浏览器
  14. 如何使用工具切换设备ip 电脑和手机怎么如何换ip?
  15. numpy 矩阵对角线_python – 使用numpy将矩阵更高的对角线清零
  16. MySQL ORDER BY 1 DESC的用法
  17. 什么是sku转载网上,备忘一个业务知识
  18. 涨跌停计算器_在线涨跌计算器
  19. 音频呼叫界面设计_使用网络音频来增强您的用户界面
  20. Android之RemoteViews篇上————通知栏和桌面小控件

热门文章

  1. VSCode-darwin-universal.zip 下载 mac os 版本
  2. 计算机中确实MSVCO120.DLL,Win10开机提示丢失msvcr120.dll文件
  3. 5.3.4 消费组稳定后,原有消费者重新加入消费组
  4. 计算机一级b在线模拟,计算机一级b级考试模拟试题及答案
  5. 三自由度机械手工作空间的设计(MATLAB)
  6. 解决传导干扰八大绝招
  7. 如何从rabbitmq集群中剔除某个节点以及如何将该节点加回集群
  8. 蓝桥杯 2022 国赛 《最大数字》
  9. Pinterest如何保存原图,高清大图
  10. GNSS相关名词介绍