• 在Linux中安装docker全过程


    目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在CentOS 7 (64-bit)上,
    要求系统为64位、Linux系统内核版本为 3.8以上,这里选用Centos8.x

    查看自己的内核:
    uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)

    在这里插入图片描述
    一、添加阿里云的仓库

     sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    • 1

    在这里插入图片描述
    二、安装gcc相关

     yum -y install gcc
     yum -y install gcc-c++
    
    • 1
    • 2

    三、安装下载docker的下载工具

    yum install -y yum-utils 
    
    • 1

    1
    四、更新yum缓存

    yum makecache
    
    • 1

    五、安装docker CE

     yum install docker-ce docker-ce-cli containerd.io -y
    
    • 1

    在这里插入图片描述

    六、查看docker版本

     docker version
    
    • 1

    在这里插入图片描述

    docker命令

    systemctl start docker

    systemctl stop docker

    查看全部

    docker ps -a

    启动某个容器

    docker start|stop|restart [id]

    暂停|恢复 某一容器的所有进程

    docker pause|unpause [id]

    杀死一个或多个指定容器进程

    docker kill -s KILL [id]

    停止全部运行的容器

    docker stop docker ps -q

    杀掉全部运行的容器

    docker kill -s KILL `docker ps -q

    `
    在这里插入图片描述

    1.安装mysql

    docker pull mysql:5.7.35
    
    • 1

    在这里插入图片描述

    docker run -it --name mysql -v /home/db/mysql:/var/lib/mysql -v /home/db/conf:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35
    
    • 1
    docker exec -ti mysql /bin/bash
    
    • 1
    mysql -uroot -p123456
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;  
    FLUSH PRIVILEGES;
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    2.Docker搜索redis镜像

    安装 redis

    docker search redis
    
    • 1

    在这里插入图片描述

    可以看到有很多redis的镜像,此处因没有指定版本,所以下载的就是默认的最新版本 。redis latest.

    二、Docker拉取镜像

    docker search redis
    
    • 1

    在这里插入图片描述

    三、Docker挂载配置文件
    接下来就是要将redis 的配置文件进行挂载,以配置文件方式启动redis 容器。(挂载:即将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件)

    1)、挂载redis的配置文件

    2)、挂载redis 的持久化文件(为了数据的持久化)。

    本人的配置文件是放在

    liunx 下redis.conf文件位置: /home/redis/redis/redis.conf

    liunx 下redis的data文件位置 : /home/redis/redis/data

    在这里插入图片描述

    四、启动redis 容器

     docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /home/redis/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/redis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 123456
    
    • 1
    –restart=always 总是开机启动
    –log是日志方面的
    -p 6379:63796379端口挂载出去
    –name 给这个容器取一个名字
    -v 数据卷挂载
    /home/redis/redis/redis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的redis.conf 和redis下的redis.conf 挂载在一起。
    /home/redis/redis/data:/data 这个同上
    -d redis 表示后台启动redis
    redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/redis/redis.conf
    –appendonly yes 开启redis 持久化
    –requirepass 123456设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置,
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    五、测试

    docker ps -a |grep redis # 通过docker ps指令查看启动状态,是否成功.
    
    • 1

    在这里插入图片描述

    docker logs --since 30m redis
    
    • 1

    在这里插入图片描述

    myredis.conf

    # bind 192.168.1.100 10.0.0.1
    # bind 127.0.0.1 ::1
    #bind 127.0.0.1
    
    protected-mode no
    
    port 6379
    
    tcp-backlog 511
    
    requirepass 000415
    
    timeout 0
    
    tcp-keepalive 300
    
    daemonize no
    
    supervised no
    
    pidfile /var/run/redis_6379.pid
    
    loglevel notice
    
    logfile ""
    
    databases 30
    
    always-show-logo yes
    
    save 900 1
    save 300 10
    save 60 10000
    
    stop-writes-on-bgsave-error yes
    
    rdbcompression yes
    
    rdbchecksum yes
    
    dbfilename dump.rdb
    
    dir ./
    
    replica-serve-stale-data yes
    
    replica-read-only yes
    
    repl-diskless-sync no
    
    repl-disable-tcp-nodelay no
    
    replica-priority 100
    
    lazyfree-lazy-eviction no
    lazyfree-lazy-expire no
    lazyfree-lazy-server-del no
    replica-lazy-flush no
    
    appendonly yes
    
    appendfilename "appendonly.aof"
    
    no-appendfsync-on-rewrite no
    
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    
    aof-load-truncated yes
    
    aof-use-rdb-preamble yes
    
    lua-time-limit 5000
    
    slowlog-max-len 128
    
    notify-keyspace-events ""
    
    hash-max-ziplist-entries 512
    hash-max-ziplist-value 64
    
    list-max-ziplist-size -2
    
    list-compress-depth 0
    
    set-max-intset-entries 512
    
    zset-max-ziplist-entries 128
    zset-max-ziplist-value 64
    
    hll-sparse-max-bytes 3000
    
    stream-node-max-bytes 4096
    stream-node-max-entries 100
    
    activerehashing yes
    
    hz 10
    
    dynamic-hz yes
    
    aof-rewrite-incremental-fsync yes
    
    rdb-save-incremental-fsync yes
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104

    Docker删除Redis

    1. 查看所有在运行的容器:

    命令:

    docker ps -a
    
    • 1
    1. 停止运行的Redis

    停止命令:docker stop <容器名>

    docker stop redis# redis 是我启动redis 命名的别
    
    • 1
    1. 删除redis 容器:

    删除容器命令: docker rm <容器名>

    docker rm myredis
    
    • 1
    1. 删除Redis镜像

    删除容器后,我们开始删除redis镜像。

    1. 查看全部镜像 命令:
    docker images
    
    • 1
    1. 删除镜像 命令 docker rmi <容器 id>
    docker rmi 739b59b96069 # 这是我镜像redis id
    
    • 1

    举例
    在这里插入图片描述

    安装mongodb
    1 拉取镜像

    docker pull mongo:5.0
    
    • 1

    在这里插入图片描述

    报错的话 可能是网络不好 在执行一次就好了

    在这里插入图片描述

    # 创建mongodb目录用于存放mongodb数据
    docker run -itd --restart=always -m 100M --memory-swap -1 --privileged -v /home/db/mongo:/data/db -p 27017:27017 --name mongo -d mongo:5.0 --auth
    
    • 1
    • 2

    在这里插入图片描述

    docker container update -m 100M --memory-swap -1 mongo
    
    • 1
    docker container update -m 100M --memory-swap -1 mongo
    
    • 1
    docker exec -it mongo /bin/bash
    
    • 1
    mongo
    use admin
    db.createUser({ user: 'root', pwd: '123456', roles: [ { role: "root", db: "admin" } ] });
    
    • 1
    • 2
    • 3
    exit
    
    • 1

    在这里插入图片描述

    安装mqtt服务

    docker pull emqx/emqx:4.3.10
    
    • 1

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/2e3a3a85195e40549308c55d49e49d1c.png

    docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:4.3.10
    
    • 1

    在这里插入图片描述

    docker自动启动容器:

    docker update --restart=always emqx
    
    • 1
    firewall-cmd --zone=public --add-port=1883/tcp --permanent
    firewall-cmd --zone=public --add-port=18083/tcp --permanent
    firewall-cmd --reload   # 配置立即生效
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    访问管理页面:默认密码 admin public
    ip:18083
    在这里插入图片描述

    docker exec -it emqx /bin/bash
    
    • 1
    #cd /opt/emqx/etc/
    vi emqx.conf
    
    • 1
    • 2

    搜索:allow_anonymous
    修改为 false

    增加认证的用户名:

    auth.user.1.username = admin
    auth.user.1.password = 123456
    
    • 1
    • 2

    在这里插入图片描述

    vi /opt/emqx/etc/plugins/emqx_auth_mnesia.conf
    
    • 1

    插入配置账号密码:
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    安装jdk1.8

    1.查找JDK

     docker search jdk
    
    • 1

    在这里插入图片描述
    2.拉取JDK1.8镜像

    docker pull kdvolder/jdk8
    
    • 1

    在这里插入图片描述
    3.查看下载的镜像

    docker images
    
    • 1

    在这里插入图片描述
    4.启动JDK镜像

    docker run -di --name=jdk1.8 kdvolder/jdk8
    
    • 1

    暂时更新这么多

    记得关闭防火墙

  • 相关阅读:
    kubernetes之Deployment
    深度学习(PyTorch)——卷积神经网络(CNN)基础篇
    18 _ 散列表(上):Word文档中的单词拼写检查功能是如何实现的?
    用go设计开发一个自己的轻量级登录库/框架吧
    Java后端获取当前项目所在路径的方法(适用于Linux、Windows)
    如何把项目上传到Gitee(详细教程)
    Easyx趣味编程7,鼠标消息读取及音频播放
    【无标题】
    【Revit二次开发】事务和事务处理(Transaction and FailureHandlingOptions)
    零代码,让业务人员实现应用创造自由
  • 原文地址:https://blog.csdn.net/qq_42862247/article/details/126543814