####### 帮助启动类命令 ##########
systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker
systemctl enable docker
docker info
docker --help
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
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
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
./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --list
./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --create --replication-factor 1 --partitions 1 --topic test
./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
./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 工具(网上有相应的破解版本)。