• docker相关命令


    一、帮助启动类命令

    启动docker

    systemctl start docker
    
    • 1

    停止docker

    systemctl stop docker
    
    • 1

    重启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] 镜像名称
    
    • 1

    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
    
    • 1
    • 2

    -f:强制删除

    删除多个镜像

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

    删除全部镜像

    docker rmi -f $(docker images -qa)

    三、容器命令

    新建并启动容器

    docker run [OPTIONS] 镜像名称 [COMMAND] [ARG...]
    
    • 1

    [OPTIONS]选项:
    –name=“容器新名称”:为容器指定一个名称
    docker run -it --name=“myu1” ubuntu

    后台运行容器

    docker run -d 容器名
    docker run -d redis
    
    • 1
    • 2

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

    交互式运行容器

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

    docker run -it centos /bin/bash
    
    • 1

    放在镜像名后的是命令。要退出终端,直接输入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);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

  • 相关阅读:
    按漏洞的攻击途径分类情况分析
    数据库MySQL(三):DML、DQL、DCL
    [点云分割] 圆柱体分割
    智能运维应用之道,告别企业数字化转型危机
    mysql多列索引(组合索引)特点和使用场景
    win10正确配置tensorRT环境
    代码随想录day52:动态规划子序列问题part1
    React 入门:组件实例三大属性之refs
    Linux查看文件内容的几种方法
    leetcode-105 从前序与中序遍历序列构造二叉树-使用栈代替递归
  • 原文地址:https://blog.csdn.net/qq_26838315/article/details/132742468