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

  1. 允许redis外地连接(必选)

注释掉 # bind 127.0.0.1

  1. daemonize no(必选)

将daemonize yes注释或设置daemonize no,该配置会和docker run中-d参数冲突,会导致容器一直启动失败

  1. 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 工具(网上有相应的破解版本)。

相关推荐
returnShitBoy3 分钟前
Go语言中的垃圾回收是如何工作的?
java·jvm·golang
有什么东东29 分钟前
山东大学软件学院创新项目实训开发日志(9)之测试前后端连接
java
zhangpeng45554794031 分钟前
用Java写一个MVCC例子
java·开发语言
谦行43 分钟前
前端视角 Java Web 入门手册 5.1:真实世界 Web 开发——初识 Spring Boot
java·后端
自在如风。1 小时前
Java 设计模式:策略模式详解
java·设计模式·策略模式
API小爬虫1 小时前
如何利用 Java 爬虫获取京东商品详情信息
java·开发语言·爬虫
菜鸟起航ing1 小时前
【Java面试系列】Spring Boot微服务架构下的分布式事务解决方案与性能优化详解 - 3-5年Java开发必备知识
java·spring boot·微服务·性能优化·分布式事务
小薛博客1 小时前
架构设计之Redisson分布式锁-可重入同步锁(一)
java·redis·分布式
小开不是小可爱2 小时前
leetcode_454. 四数相加 II_java
java·数据结构·算法·leetcode
专注VB编程开发20年2 小时前
VB.NET Asp.Net Core模板WebAPI应用-宝塔面板Linux系统通过Docker部署
linux·docker·.net