在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

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

 yum -y install gcc
 yum -y install gcc-c++

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

yum install -y yum-utils 

1
四、更新yum缓存

yum makecache

五、安装docker CE

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

在这里插入图片描述

六、查看docker版本

 docker version

在这里插入图片描述

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

在这里插入图片描述

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
docker exec -ti mysql /bin/bash
mysql -uroot -p123456
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;  
FLUSH PRIVILEGES;

在这里插入图片描述

2.Docker搜索redis镜像

安装 redis

docker search redis

在这里插入图片描述

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

二、Docker拉取镜像

docker search redis

在这里插入图片描述

三、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
–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 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置,

在这里插入图片描述

五、测试

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

在这里插入图片描述

docker logs --since 30m redis

在这里插入图片描述

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

Docker删除Redis

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

命令:

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

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

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

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

docker rm myredis
  1. 删除Redis镜像

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

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

举例
在这里插入图片描述

安装mongodb
1 拉取镜像

docker pull mongo:5.0

在这里插入图片描述

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

在这里插入图片描述

# 创建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

在这里插入图片描述

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

在这里插入图片描述

安装mqtt服务

docker pull emqx/emqx:4.3.10

![在这里插入图片描述](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

在这里插入图片描述

docker自动启动容器:

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

在这里插入图片描述

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

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

搜索:allow_anonymous
修改为 false

增加认证的用户名:

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

在这里插入图片描述

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

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

在这里插入图片描述

在这里插入图片描述

安装jdk1.8

1.查找JDK

 docker search jdk

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

docker pull kdvolder/jdk8

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

docker images

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

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

暂时更新这么多

记得关闭防火墙

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想要一百块

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值