docker相关命令

这篇具有很好参考价值的文章主要介绍了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

后台运行容器

docker run -d 容器名
docker run -d redis

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

交互式运行容器

使用镜像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

四、Docker安装MySQL

1.拉取mysql

docker search mysql
docker pull mysql:latest

2.启动容器

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

3.查看

docker ps

4.添加mysql配置文件

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

5.进入容器

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);

五、Docker安装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 工具(网上有相应的破解版本)。文章来源地址https://www.toymoban.com/news/detail-699357.html

到了这里,关于docker相关命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker查看、创建、进入容器相关的命令

    用-it指令创建出来的容器,创建完成之后会立马进入容器。退出之后立马关闭容器。 退出容器: 查看现在正在运行的容器命令: 查看历史容器,关闭和没关闭的都能看到则指令为: 会出来历史打开的容器的表格,其中有id,及image,image表示你用哪个镜像文件创建出来的容器

    2024年02月13日
    浏览(39)
  • Docker的四种网络模式和相关网络命令

    docker 使用linux 桥接,在宿主机虚拟一个docker 容器网桥(docker0) ,docker 启动一个容器时会根据docker 网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker 网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的 Cont

    2024年02月05日
    浏览(42)
  • spring eureka集群相关问题

    EurekaServer节点启动的时候,DefaultEurekaServerContext.init()方法调用PeerEurekaNodes.start()方法,start方法中resolvePeerUrls()会从配置文件读取serviceUrl属性值获得集群最新节点信息,通过updatePeerEurekaNodes()方法将最新节点信息更新到PeerEurekaNodes类的属性peerEurekaNodes和peerEurekaNodeUrls中。 PeerE

    2024年01月25日
    浏览(42)
  • snmp trap 与snmp相关介绍、安装、命令以及Trap的发送与接收java实现

    1.1、什么是Snmp SNMP是英文\\\"Simple Network Management Protocol\\\"的缩写,中文意思是\\\"简单网络管理协议\\\"。SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。由于SNMP协议简单可靠 ,受到了众多厂商的欢迎,成为了目

    2024年02月02日
    浏览(50)
  • 在Java中执行docker命令

    在Java中执行docker命令可以使用Java的Runtime类或ProcessBuilder类。下面是使用Runtime类执行docker命令的示例代码: 上述代码中,使用Runtime类的exec()方法执行docker ps命令,并通过BufferedReader读取命令执行结果。 另外,使用ProcessBuilder类也可以执行docker命令,示例代码如下:   上述代

    2024年02月09日
    浏览(27)
  • 【Java可执行命令】(十二)依赖分析工具jdeps:通过静态分析字节码并提取相关信息来实现依赖分析 ~

    Java中的 jdeps 命令是一个用于分析类或 JAR 文件的工具,它能够帮助开发者识别出类之间的依赖关系。 jdeps 命令最早于Java 8版本中引入,旨在帮助开发者识别出Java类之间的依赖关系。其设计目的是为了帮助开发者在进行代码重构、迁移、与外部库集成等操作时,更好地了解库

    2024年02月14日
    浏览(77)
  • eureka的docker镜像部署

    项目结构  1.pom.xml文件 2.EurekaServerApplication主函数类 3.application.yml配置文件 4.选择进行打jar包 5.打开linux虚拟机,启动docker镜像,并创建目录为了方便编写自定义镜像  6.创建docker目录,把jar包粘贴过来,并重命名(为了后面调用时方便) 选择新建文件,编写DockerFile文件 选择

    2024年02月06日
    浏览(42)
  • docker里Java服务执行ping命令模拟流式输出

    我们某市的客户,一直使用CS版本的信控平台,直接安装客户Windows server服务器上,主要对信号机设备进行在线管理、方案配时、管控等 其中有一项功能,在网络波动情况,对信号机管控失败,判断信号机是否在线。大致方法是直接调用Windows的dos窗口,发送 ping ip的命令,显

    2024年01月19日
    浏览(31)
  • 【Java可执行命令】(十七)JVM运行时信息动态维护工具 jinfo:一个维护 JVM 相关的配置参数和系统属性的工具,辅助故障排除、诊断和优化 ~

    jinfo 是 Java Development Kit (JDK) 自带的一款命令行工具。它旨在为用户提供进程的运行时信息,特别是与 Java 虚拟机 (JVM) 相关的配置和系统属性。 jinfo 使得用户可以轻松地查看和修改正在运行的 Java 进程的参数,以便进行 故障排除、诊断和优化 。 jinfo 允许用户动态查询和修改

    2024年02月13日
    浏览(50)
  • docker export,import后无法运行,如java命令找不到,运行后容器内编码有问题

    为什么用docker export呢,😔~由于客户环境太恶心了,测试一次更是麻烦,所以什么都得在本地调试完成,争取每次测试+上线一次通过才行,说多了都是泪。 由于踩坑几次了,每次都忘记,且每次网上找半天也难以发现问题,今日决定记录一笔。 在进行docker export导出镜像,然

    2024年02月15日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包