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

docker相关命令

####### 帮助启动类命令 ##########

启动docker

systemctl start docker

停止docker

systemctl stop docker

重启docker

systemctl restart docker

查看docker状态

systemctl status docker

开机启动

systemctl enable docker

查看docker概要信息

docker info

查看docker总体帮助文档

docker --help

查看docker命令帮助文档

docker 具体命令 --help

####################################
######### 镜像命令 ################
####################################

列出本地主机上的镜像

docker images

REPOSITORY(镜像的仓库源) TAG(镜像的标签版本号) IMAGE ID(镜像ID) CREATED(镜像创建时间) SIZE(镜像大小)
同一个仓库源可以有多个TAG版本,代表这个仓库员的不同个版本,使用REPOSITORY:TAG来定义不同的镜像。如果不指定镜像的版本标签,默认使用latest镜像。
-a:列出本地所有的镜像(包含历史映像层)
-q:只显示镜像id

查找镜像

docker search [OPTIONS] 镜像名称

NAME(镜像名称) DESCRIPTION(镜像说明) STARS(点赞数量) OFFICIAL(是否是官方的) AUTOMATED(是否是自动构建的)
docker search --limit 5 redis
–limit:只列出N个镜像,默认25个

下载镜像

docker pull 镜像名称[:TAG]

不写TAG就是最新版,等价于docker pull 镜像名称:latest

查看镜像/容器/数据卷所占的空间

docker system df

删除指定镜像

docker rmi 镜像名称/镜像ID
docker rmi -f 镜像ID

-f:强制删除

删除多个镜像

docker rmi -f 镜像名1:TAG 镜像名2:TAG

删除全部镜像

docker rmi -f $(docker images -qa)

####################################
######### 容器命令 ################
####################################

新建并启动容器

docker run [OPTIONS] 镜像名称 [COMMAND] [ARG…]
[OPTIONS]选项:
–name=“容器新名称”:为容器指定一个名称

docker run -it --name=“myu1” ubuntu

后台运行容器

-d:后台运行容器并返回容器ID,也就是启动守护式容器(后台运行)
docker run -d 容器名
docker run -d redis

交互式运行容器

使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
docker run -it centos /bin/bash

放在镜像名后的是命令。要退出终端,直接输入exit即可
-i,–interactive:以交互模式运行容器,通常与-t同时使用,也就是启动交互式容器(前台有伪终端,等待交互)
-t,–tty:为容器重新分配一个伪输入终端,通常与-i同时使用

设置端口映射

-P:随机端口映射
-p:指定端口映射
-p hostPort:containerPort 端口映射 -p 8080:80
-p ip:hostPort:containerPort 配置监听地址 -p 10.0.0.100:8080:80
-p ip::containerPort 随机分配端口 -p 10.0.0.100::80
-p hostPort:containerPort:udp 指定协议 -p 8080:80:tcp
-p 81:80 -p 443:443 指定多个端口映射

列出当前所有正在运行的容器

docker ps [OPTIONS]
-a:列出当前所有正在运行的容器和历史运行过的容器
-l:显示最近创建的容器
-n:显示最近n个创建的容器
-q:静默模式,只显示容器编号

退出容器

有两种退出方式
exit:run进去容器,exit退出,容器停止
ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止

启动已停止运行的容器

docker start 容器ID或容器名

重启容器

docker restart 容器ID或容器名

停止容器

docker stop 容器ID或容器名

强制停止容器

docker kill 容器ID或容器名

删除已停止的容器

docker rm 容器ID或容器名

强制删除容器(可以删运行中的容器)

docker rm -f 容器ID或容器名

一次性删除多个容器实例

docker rm -f $(docker ps -qa)
docker ps -qa | xargs docker rm

查看容器日志

docker logs 容器ID或容器名

查看容器内运行的进程

docker top 容器ID或容器名

查看容器内部细节(可以看到版本号和容器相关的信息)

docker inspect 容器ID或容器名

进入正在运行的容器并以命令行交互

第一种
docker exec [OPTIONS] CONTAINER COMMAND [ARG…]
docker exec -it 容器ID或容器名 bashShell
docker exec -it asset-redis redis-server -v
第二种
docker attach 容器ID或容器名
1.attach直接进入容器启动目录的终端,不会启动新的进程,用exit退出,会导致容器的停止
2.exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止
一般用-d后台启动程序,再用exec进入对应容器实例

从容器内拷贝文件到主机

docker cp 容器ID:容器内路径 目的主机路径

导入导出容器

export导出容器的内容流作为一个tar归档文件,import从tar包中的内容创建一个新的文件系统再导入为镜像
docker export 容器ID > 文件名.tar
docker export be13986b4964 > redis.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
cat redis.tar | docker import - cw/redis1:6.2.6

####################################
######### MySQL安装 ################
####################################
docker search mysql
docker pull mysql:latest

启动容器

docker run -p 3306:3306 --name mysql
–privileged=true
-v /root/cw/mysql/log:/var/log/mysql
-v /root/cw/mysql/data:/var/lib/mysql
-v /root/cw/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
-d mysql:latest

查看

docker ps

添加mysql配置文件

cd /root/cw/mysql/conf
vi my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8

进入容器

docker exec -it e780aeb44934 /bin/bash

mysql -uroot -p

CREATE TABLE user (
id bigint(20) NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
age int(11) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

INSERT INTO user (id, name, age) VALUES
(1, ‘John’, 30),
(2, ‘Alice’, 25),
(3, ‘Bob’, 40);

####################################
######### Redis安装 ###############
####################################
docker pull redis
docker images

docker run -p 6379:6379 --name redis
–privileged=true
-v /root/cw/redis/redis.conf:/etc/redis/redis.conf
-v /root/cw/redis/data:/data
-d redis
redis-server /etc/redis/redis.conf

修改redis.conf文件

1.开启redis验证(可选)
requirepass 123456
2. 允许redis外地连接(必选)
注释掉 # bind 127.0.0.1
3. daemonize no(必选)
将daemonize yes注释或设置daemonize no,该配置会和docker run中-d参数冲突,会导致容器一直启动失败
4. protected-mode no
protected-mode no
5.开启redis数据持久化(可选)
appendonly yes

docker exec -it redis /bin/bash
redis-cli

####################################
######### Zookeeper安装 ###########
####################################
docker pull zookeeper

docker run -d --restart=always
–log-driver json-file
–log-opt max-size=100m
–log-opt max-file=2
–name zookeeper
-p 2181:2181
-v /etc/localtime:/etc/localtime
zookeeper

docker logs -f zookeeper

docker exec -it zookeeper /bin/bash

####################################
############# Kafka安装 ###########
####################################
docker pull bitnami/kafka

docker run -d --name kafka
–env KAFKA_ADVERTISED_HOST_NAME=localhost
–env KAFKA_ZOOKEEPER_CONNECT=192.168.10.100:2181
–env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.10.100:9092
–env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
–env KAFKA_HEAP_OPTS=“-Xmx256M -Xms128M”
–net=host bitnami/kafka

docker logs -f kafka

docker exec -it kafka /bin/bash
cd /opt/bitnami/kafka/bin

查看所有topic

./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --list

创建topic

./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --create --replication-factor 1 --partitions 1 --topic test

查看topic详情

./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --describe --topic test

修改分区数(注意:分区数只能增加,不能减少)

./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --alter --topic test --partitions 3

删除topic

./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --delete --topic test

启动生产者

./kafka-console-producer.sh --bootstrap-server 192.168.10.100:9092 --topic test

启动消费者

./kafka-console-consumer.sh --bootstrap-server 192.168.10.100:9092 --topic test

把主题中所有的数据都读取出来(包括历史数据)

./kafka-console-consumer.sh --bootstrap-server 192.168.10.100:9092 --from-beginning --topic test

#######################################################################################################

docker pull mysql --下载
docker run --启动
docker ps -a --查看进程
docker logs pid --查看某个pid日志

docker run -p 3306:3306 --name mysql
-v /root/cw/mysql/log:/var/log/mysql
-v /root/cw/mysql/data:/var/lib/mysql
-v /root/cw/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7

–在docker中启动mysql服务
docker run -p 3306:3306 --name mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql

–在docker中连接mysql
docker exec -it f5fe5e274afa mysql -uroot -proot

–先进入docker,然后再连接mysql
docker exec -it cebf88eecddb /bin/bash
mysql -uroot -proot

docker ps --查看当前运行的进程
docker stop pid --停止当前运行的进程
docker rm pid --删除当前运行的进程
curl localhost:8000

docker中启动redis:
Windows10系统

1、使用命令:docker pull redis 来下载redis镜像。

2、通过命令 docker images来查看redis镜像是否安装成功

3、安装成功后通过 docker run --name java_redis -d redis 来运行redis

4、通过命令 docker ps 来查看redis是否启动成功

5、当redis启动成功后,通过命令 docker exec -it java_redis redis-cli 来打开客户端

6、当客户端打开后,我们就可以使用redis的相关命令去操作redis数据库了。

7、我们安装redis镜像时没有设定密码,我们这里可以进行设置,通过命令 config set requirepass 密码 进行设定。

8、此时我们对redis数据库进行修改时则需要提供 认证,通过命令 auth 密码 来进行验证。

9、此时我们就完成了redis密码的设定,剩下就可以玩转redis了。

10、当前市场上Windows系统上有redis的GUI工具Redis Desktop Manager 工具(网上有相应的破解版本)。

相关文章:

docker相关命令

####### 帮助启动类命令 ########## 启动docker systemctl start docker 停止docker systemctl stop docker 重启docker systemctl restart docker 查看docker状态 systemctl status docker 开机启动 systemctl enable docker 查看docker概要信息 docker info 查看…...

【Redis】4、rsync远程同步

与inodify结合使用,实现实时同步 rsync简介 rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,;支持增量备份,并保持链接和权限&#…...

无服务架构--Serverless

无服务架构 无服务架构(Serverless Architecture)即无服务器架构,也被称为函数即服务(Function as a Service,FaaS),是一种云计算模型,用于构建和部署应用程序,无需关心…...

2023-09-07 LeetCode每日一题(修车的最少时间)

2023-09-07每日一题 一、题目编号 2594. 修车的最少时间二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 ranks ,表示一些机械工的 能力值 。ranksi 是第 i 位机械工的能力值。能力值为 r 的机械工可以在 r * n2 分钟内修好 n 辆车。 同时给你…...

数据挖掘实验-主成分分析与类特征化

数据集&代码https://www.aliyundrive.com/s/ibeJivEcqhm 一.主成分分析 1.实验目的 了解主成分分析的目的,内容以及流程。 掌握主成分分析,能够进行编程实现。 2.实验原理 主成分分析的目的 主成分分析就是把原有的多个指标转化成少数几个代表…...

70. 爬楼梯 (进阶),322. 零钱兑换,279.完全平方数

代码随想录训练营第45天|70. 爬楼梯 (进阶,322. 零钱兑换,279.完全平方数 70.爬楼梯文章思路代码 322.零钱兑换文章思路代码 279.完全平方数文章思路代码 总结 70.爬楼梯 文章 代码随想录|0070.爬楼梯完全背包版本 思路 将楼梯长度视为背…...

Apache Doris 2.0 如何实现导入性能提升 2-8 倍

数据导入吞吐是 OLAP 系统性能的重要衡量标准之一,高效的数据导入能力能够加速数据实时处理和分析的效率。随着 Apache Doris 用户规模的不断扩大, 越来越多用户对数据导入提出更高的要求,这也为 Apache Doris 的数据导入能力带来了更大的挑战…...

RabbitMQ: topic 结构

生产者 package com.qf.mq2302.topic;import com.qf.mq2302.utils.MQUtils; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection;public class Pubisher {public static final String EXCHANGE_NAME"mypubilisher";public static void ma…...

信息系统项目管理教程(第4版):第二章 信息技术及其发展

请点击↑关注、收藏,本博客免费为你获取精彩知识分享!有惊喜哟!! 第二章 信息技术及其发展 2.1信息技术及其发展 信息技术是以微电子学为基础的计算机技术和电信技术的结合而形成的,对声音的、图像的、文字的、数字…...

有哪些适合初学者的编程语言?

C语言 那为什么我还要教你C语言呢?因为我想要让你成为一个更好、更强大的程序员。如果你要变得更好,C语言是一个极佳的选择,其原因有二。首先,C语言缺乏任何现代的安全功能,这意味着你必须更为警惕,时刻了…...

uni-app动态tabBar,根据不同用户展示不同的tabBar

1.uni框架的api实现 因为我们用的是uni-app框架开发,所以在创建项目的时候直接创建uni-ui的项目即可,这个项目模板中自带了uni的一些好用的组件和api。 起初我想着这个效果不难实现,因为官方也有api可以直接使用,所以我最开始尝试…...

手写Spring:第6章-资源加载器解析文件注册对象

文章目录 一、目标:资源加载器解析文件注册对象二、设计:资源加载器解析文件注册对象三、实现:资源加载器解析文件注册对象3.1 工程结构3.2 资源加载器解析文件注册对象类图3.3 类工具类3.4 资源加载接口定义和实现3.4.1 定义资源加载接口3.4…...

Redis 7 第八讲 集群模式(cluster)架构篇

集群架构 Redis 集群架构图 集群定义 Redis 集群是一个提供在多个Redis节点间共享数据的程序集;Redis集群可以支持多个master 应用场景 Redis集群支持多个master,每个master又可以挂载多个slave读写分离支持数据的高可用支持海量数据的读写存储操作集群自带Sentinel的故障…...

【PowerQuery】导入与加载XML

在标准数据格式类型里面,有一类比较特殊的数据类型,就是层次结构数据。层次结构数据和标准的结构型数据方式完全不同,在实际应用过程中使用最为频繁的几种数据类型如下。 XML数据格式Json 数据格式Yaml 数据格式我们将在本节和大家一起分享下XML格式数据集成,下一节和大家分…...

vue 预览视频

1.预览本地文件 1.1 直接给video或者embed的src赋值本地路径 <video :src"videoUrl"></video> // 或者 使用embed标签<embed :src"videoUrl" /> 1.2 读取文件流形式 <input type"file" ref"file" /> <vi…...

4个维度讲透ChatGPT技术原理,揭开ChatGPT神秘技术黑盒!(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…...

【无标题】@Scheduled 的cron

, &#xff1a;指定多个值。 -&#xff1a;表示一个区间。 / &#xff1a;指定一个值的增加幅度。n/m表示从n开始&#xff0c;每次增加m。 L&#xff1a;是last的缩写&#xff0c;表示最后一天&#xff0c;用在日表示一个月中的最后一天&#xff0c;用在周表示每周最后一天&…...

IP和MAC的作用区别

在 IP 地址的上一行是 link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff&#xff0c;这个被称为 MAC 地址&#xff0c;是一个网卡的物理地址&#xff0c;用十六进制&#xff0c;6 个 byte 表示。 一个网络包要从一个地方传到另一个地方&#xff0c;除了要有确定的地址&…...

python趣味编程-数独游戏

数独游戏是一个用Python编程语言编写的应用程序。该项目包含可以显示实际应用程序的基本功能。该项目可以让修读 IT 相关课程并希望开发简单应用程序的学生受益。这个Python 数独游戏是一个简单的项目,可用于学习tkinter库的实践。这个数独游戏可以提供Python编程的基本编码技…...

MySQL/MariaDB 查询某个 / 多个字段重复数据

创建测试表和数据 # 创建表 create table if not exists t_duplicate (name varchar(255) not null,age int not null );# 插入测试数据 insert into t_duplicate(name, age) values(a, 1); insert into t_duplicate(name, age) values(a, 2);查询单个字段重复 使用 count() …...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...