Docker基础命令(一)

Docker使用1

一、运行终端

打开终端,输入docker images ,如果运行正常,表示docker已经可以在本电脑上使用了

 

二、docker常用命令

指令说明
docker images查看已下载的镜像
docker rmi 镜像名称:标签名删除已下载的镜像
docker search 镜像从官方仓库(hub.docker.com)查找镜像
docker pull 镜像名称:标签名标签名默认是 latest,代表最新版本。
docker run创建容器
docker ps列出运行中的容器(运行中)
docker ps -a列出所有的容器(运行、未运行)
docker rm 容器名称删除停止的容器
docker rm -f 容器名称删除运行中的容器
docker start 容器名称启动容器
docker stop 容器名称停止容器
docker restart 容器名称重启容器
docker exec执行容器中的指令

如果在使用过程中有疑惑的地方,可以使用帮助文档查看

 

三、第一次使用docker

案例:Docker 运行MySql

1. 拉取MySql镜像

docker pull mysql:5.7

 下载完成后,我们就可以在本地镜像列表里看到名为 mysql ,标签为5.5的镜像

 

2. 使用MySql镜像

运行容器

docker run -d --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7命令说明:
  • --name=mysql:为容器指定一个名称为mysql
  • -p 3306:3306:将容器的(后面的3306) 3306 端口映射到主机的(前面的3306) 3306端口。
  • -d:后台运行容器,并返回容器ID。
  • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码为123456。
  • mysql:5.7 要使用的镜像的名称

注意:

如果本地已经使用了3306端口,那么可以容器的3306端口映射到本机端口的3307或者其他的

docker run -d --name=mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

运行效果:

 

查看状态

 

3. 连接数据库

image-20191118103902231

image-20191118103922052

image-20191118103940109

四、Docker常用命令说明

4.1 Docker pull 命令

docker pull : 从镜像仓库中拉取或者更新指定镜像

语法

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS说明:

-a :拉取所有 tagged 镜像

实例

  • 从Docker Hub下载MySql 8.0.1版镜像

      docker pull mysql:8.0.1
  • 从Docker Hub下载REPOSITORY为mysql的所有版本的镜像

      docker pull -a mysql

4.2 Docker images 命令

docker images : 列出本地镜像

语法

docker images [OPTIONS] [REPOSITORY[:TAG]]

OPTIONS说明:

  • -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)
  • --digests :显示镜像的摘要信息
  • -f :显示满足条件的镜像
  • --format :指定返回值的模板文件
  • --no-trunc :显示完整的镜像信息
  • -q :只显示镜像ID

实例

  • 查看本地所有镜像列表

      docker images

    image-20191115161245702

  • 列出本地镜像中镜像名为ubuntu的镜像列表

      docker images  ubuntu

    image-20191115161252643

4.3 Docker tag 命令

docker tag : 标记本地镜像,将其归入某一仓库

语法

docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]

实例

将镜像registry.cn-hangzhou.aliyuncs.com/xavier/laravel标记为test/laravel:latest镜像

docker tag registry.cn-hangzhou.aliyuncs.com/xavier/laravel test/laravel
docker images  laravel

image-20191115161457669

4.4 Docker rmi 命令

docker rmi : 删除本地一个或多个镜像

语法

docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS说明:

  • -f :强制删除;
  • --no-prune :不移除该镜像的过程镜像,默认移除;

什么是过程镜像:在构建新镜像的过程中产生的镜像或者依赖的镜像

实例

强制删除本地镜像mysql:5.5

docker rmi -f mysql:5.5 mysql:5.6

什么时候需要用强制删除呢?在你普通删除删不掉的时候

4.5 Docker run 命令

docker run :创建一个新的容器并运行一个命令

语法

docker run --name 容器名称 -d -p 主机端口:容器内端口 -e 环境变量 --link 其它容器名:容器中别名 镜像名称:标签名

OPTIONS说明:

  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • --name="nginx-lb": 为容器指定一个名称;
  • -e username="ritchie": 设置环境变量;
  • -m :设置容器使用内存最大值;
  • --link=[]: 添加链接到另一个容器;当要访问其它容器中的内容时,需要先链接才可以使用
  • -p: 开放一个端口或一组端口

实例

使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为wuxidixi。且映射容器80端口到主机8000端口

docker run --name=wuxidixi -d  -p 80:80 nginx:latest

4.6 Docker start/stop/restart 命令

docker start :启动一个或多少已经被停止的容器

docker stop :停止一个运行中的容器

docker restart :重启容器

语法

docker start CONTAINER 
docker stop CONTAINER 
docker restart CONTAINER 

实例

停止运行中的容器

docker stop 容器id

启动已被停止的容器mysql

docker start 容器id

重启容器

docker restart 容器id

4.7 Docker rm 命令

docker rm :删除一个或多个容器

语法

docker rm [OPTIONS] CONTAINER [CONTAINER...]

OPTIONS说明:

  • -f :通过SIGKILL信号强制删除一个运行中的容器
  • -l :移除容器间的网络连接,而非容器本身
  • -v :-v 删除与容器关联的卷

实例

s强制删除容器mysql

docker rm -f mysql

移除容器对容器mysql的连接,连接名mysql

docker rm -l mysql

删除容器nginx01,并删除容器挂载的数据卷

docker rm -v nginx01

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/17610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ffmpeg 的帮助系统

----------------------------------------------- author: hjjdebug date: 2023年 07月 31日 星期一 14:32:15 CST ffmpeg 的帮助系统 目的: 搞清楚它都打印了什么? 它是怎样实现的. ----------------------------------------------- $ffprobe -h 1996行输出 $ffmpeg -h…

Java如何实现将类文件打包为jar包

目录 将类文件打包为jar包 1.写类文件2.编译3.测试4.打jar包jar包应该怎么打? 1.首先确保你的项目2.选中你的项目,点右键3.选择runnable jar file4.如下图,直接看图5.然后点finish 将类文件打包为jar包 为实际项目写了一个工具类,但是每次使用时都需要…

xcode中如何显示文件后缀

xcode14.3 用不惯mac电脑真恶心,改个显示文件后缀找半天 1、首先双击打开xcode软件 2、此时,电脑左上角出现xcode字样(左上角如果看不到xcode字样,再次点击xcode软件弹出来就有了),鼠标右键它,点击setting或者Prefere…

阿里云SLB负载均衡ALB、CLB和NLB有什么区别?

阿里云负载均衡SLB分为传统型负载均衡CLB(原SLB)、应用型负载均衡ALB和网络型负载均衡NLB,三者有什么区别?CLB是之前的传统的SLB,基于物理机架构的4层负载均衡;ALB是应用型负载均衡,7层负载均衡…

安卓音视频多对多级联转发渲染

最近利用自己以前学习和用到的音视频知识和工程技能做了一个android的sdk,实现了本地流媒体ipc rtsp 拉流以及自带mip usb等camera audio节点产生的流媒体通过webrtc sfu的方式进行多对多级联发布共享,网状结构,p2p组网,支持实时渲染以及转推rtmp&#x…

我的第一个前端(VS code ,Node , lite-server简易服务器,npm 运行)

第一种方式:使用Visual Studio Code创建并运行 第一个前端项目的步骤,如下: 1. 下载和安装Visual Studio Code: 访问Visual Studio Code官方网站(Visual Studio Code - Code Editing. Redefined)并根据你…

Java类的加载过程是什么?

本文重点 本文将学习类的加载过程,java命令将class文件放到类加载器中,那么之后经历了什么?本文将对其进行学习。 类加载方式? 两种加载方式:隐式加载(静态加载)和显式加载(动态加载) 隐式加载指的是在程序使用new等方式创建对象的时候,会隐式地调用类的加载器把…

【Docker】Docker的优势、与虚拟机技术的区别、三个重要概念和架构及工作原理详细讲解

前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 作者简介: 辭七七&#xf…

GDAL C++ API 学习之路 OGRGeometry 环类 OGRLinearRing

OGRLinearRing class <ogrsf_frmts.h> OGRLinearRing 是 OGR 库中的一个类&#xff0c;它是一个线性环&#xff08;Linear Ring&#xff09;的几何对象&#xff0c;用于表示封闭的线性路径。线性环是由一系列连续的线段组成&#xff0c;首尾相连形成闭合的环。线…

驶向专业:嵌入式开发在自动驾驶中的学习之道

导语: 自动驾驶技术在汽车行业中的快速发展为嵌入式开发领域带来了巨大的机遇。作为自动驾驶的核心组成部分&#xff0c;嵌入式开发在驱动汽车的智能化和自主性方面发挥着至关重要的作用。本文将探讨嵌入式开发的学习方向、途径以及未来在自动驾驶领域中的展望。 一、学习方向:…

Java 解析Excel单元格的富文本

1. 总体介绍 该方法是解析 xlsx 单元格中的富文本&#xff0c;注意不是 xls&#xff0c;xls 的 api 不一样&#xff0c;试了很久没成功。只实现了解析 斜体字、上下标&#xff0c;其它的实现方式应该类似。 2. 具体实现 2.1 代码 package util;import java.io.FileInputStr…

人工智能安全-3-噪声数据处理

0 提纲 噪声相关概述噪声处理的理论与方法基于数据清洗的噪声过滤主动式过滤噪声鲁棒模型1 噪声相关概述 噪声类型: 属性噪声:样本中某个属性的值存在噪声标签噪声:样本归属类别关于噪声分布的假设:均匀分布、高斯分布、泊松分布等。 标签噪声的产生原因: (1)特定类别…

[SQL挖掘机] - 窗口函数 - dense_rank

介绍: dense_rank() 是一种常用的窗口函数&#xff0c;它为结果集中的每一行分配一个密集排名&#xff08;dense rank&#xff09;。这个密集排名基于指定的排序顺序&#xff0c;并且在遇到相同的值时&#xff0c;不会跳过排名。 用法: dense_rank() 函数的语法如下&#xf…

ERROR: transport error 202: gethostbyname: unknown host报错解决方案

Java 9 syntax for remote debugger: -agentlib:jdwptransportdt_socket,servery,suspendn,address*:5005Java 8 不适用 *:port&#xff0c;应该使用: -agentlib:jdwptransportdt_socket,servery,suspendn,address5005参考 https://stackoverflow.com/questions/50344957/ja…

C++ 文件流操作详解

1. C I/O流 本文章有很多内容参考并借鉴了《C primer plus》 这本经典。这里先说明一下。 1. C I/O流 1.1. 数据流1.2. 控制台流1.3. 文件流 1.3.1. 什么是文件流&#xff1f;1.3.2. 缓冲区1.3.3. 文件流和控制流的关系1.3.4. 文件处理1.3.5. 简单的文件I/O1.3.6. 流状态检查和…

Day11-作业(SpringBootWeb案例)

作业1&#xff1a;完成课上所讲解的部门管理、员工管理的所有功能。[必须] 部门管理&#xff1a; 查询部门 删除部门 新增部门 修改部门 员工管理&#xff1a; 条件分页查询 批量删除员工 新增员工 修改员工 文件上传 作业2&#xff1a;整理 文件上传、配置文件 [必…

MATLAB RANSAC圆柱体点云拟合 (28)

MATLAB RANSAC圆柱体点云拟合 (28) 一、算法介绍二、函数介绍三、算法实现四、效果展示一、算法介绍 RANSAC拟合方法,从原始点云中拟合具有特定形状的点云,这里对原始点云中大致呈圆柱的点云进行分割,圆柱的半径,以及朝向都是比较重要的定义圆柱的参数。下面是具体使用的…

Mysql-学习笔记

文章目录 1. 数据库1.1 Mysql安装及常用代码1.2 SQL介绍1.3 SQL分类1. DDL-操作数据库&#xff0c;表2. DML-对表中的数据进行增删改3. DQL-对表中的数据进行查询条件查询模糊查询排序查询分组查询分页查询 4. DCL-对数据库进行权限控制外键约束表关系-多对多多表查询事务 1. 数…

ETHERNET/IP转RS485/RS232网关什么是EtherNet/IP?

网络数据传输遇到的协议不同、数据互通麻烦等问题&#xff0c;一直困扰着大家。然而&#xff0c;现在有一种神器——捷米JM-EIP-RS485/232&#xff0c;它将ETHERNET/IP网络和RS485/RS232总线连接在一起&#xff0c;让数据传输更加便捷高效 那么&#xff0c;它是如何实现这一功能…

建木使用进阶-创建密钥管理

阿丹&#xff1a; 第一次我们进入建木&#xff0c;第一件事情就是配置我们相关的密钥。 解读&#xff1a; 在建木中我们可以进行创建密钥来对我们服务器等密码进行方便的管理。 注意&#xff1a; 登录的时候账号为&#xff1a;admin 密码为&#xff1a;123456 这是初始…