Docker快速安装常用软件命令

防火墙

启动:     systemctl start firewalld
 
查状态: systemctl status firewalld
 
停止:    systemctl stop firewall

添加出站规则:  firewall-cmd --zone=public --add-port=3306/tcp --add-port=3308/tcp --add-port=6379/tcp --add-port=80/tcp --permanent

firewall-cmd --zone=public --permanent \
 --add-port=3306/tcp \
 --add-port=3308/tcp \
 --add-port=6379/tcp \
 --add-port=80/tcp \
 --add-port=8848/tcp \
 --add-port=3306/tcp \
 
刷新:   firewall-cmd --reload
 
查看: firewall-cmd --list-port

Docker 安装 MySQL

# 下载最新版Mysql镜像 (其实此命令就等同于 : docker pull mysql:latest )
docker pull mysql

# 下载指定版本的Mysql镜像 (xxx指具体版本号)
docker pull mysql:xxx

# 创建目录
mkdir -p /mnt/docker/mysql8/log
mkdir -p /mnt/docker/mysql8/data
mkdir -p /mnt/docker/mysql8/conf
# 写入以下配置文件内容 

命令:vi /mnt/docker/mysql8/conf/my.cnf 

-----------------
[client]
# socket = /usr/mysql/mysqld.sock
# 设置客户端默认字符集utf8mb4
default-character-set=utf8mb4

[mysql]
# 设置服务器默认字符集为utf8mb4
default-character-set=utf8mb4

[mysqld]
# 配置服务器的服务号,具备日后需要集群做准备
# server-id = 1
# 开启MySQL数据库的二进制日志,用于记录用户对数据库的操作SQL语句,具备日后需要集群做准备
# log-bin=mysql-bin
# 设置清理超过30天的日志,以免日志堆积造过多成服务器内存爆满 默认30天 = 2592000秒
# 8以下 
# expire_logs_days=30
# binlog_expire_logs_seconds=2592000

# 解决MySQL8.0版本GROUP BY问题
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

# 允许最大的连接数
max_connections=1000

# 禁用符号链接以防止各种安全风险
symbolic-links=0

# 设置东八区时区
default-time_zone = '+8:00'

# 设置服务器默认字符集为utf8mb4
character_set_server = utf8mb4
collation_server = utf8mb4_bin

# 权限问题修复
datadir = /mnt/mysql/data

# 导出开启
secure-file-priv= NULL

# Custom config should go here
!includedir /etc/mysql/conf.d/
-----------------

# 常用命令
docker run -d \
-p 3306:3306 \
--privileged=true \
--restart=always \
--name mysql8 \
-v /mnt/docker/mysql8/log/:/var/log/mysql/ \
-v /mnt/docker/mysql8/data/:/mnt/mysql/data \
-v /mnt/docker/mysql8/conf/:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql
命令 描述
docker run 创建一个新的容器 , 同时运行这个容器
–name mysql5.7 启动容器的名字
-d 后台运行
-p 3306:3306 将容器的 3306 (后面那个) 端口映射到主机的 3306 (前面那个) 端口
--privileged=true 赋予容器权限修改宿主文件权利。
--restart unless-stopped 容器重启策略
-v /mnt/docker/mysql/log:/var/log/mysql 将日志文件夹挂载到主机
-v /mnt/docker/mysql/data:/var/lib/mysql 将mysql储存文件夹挂载到主机
-v /mnt/docker/mysql/conf:/etc/mysql 将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root 设置 root 用户的密码
mysql:5.7 启动哪个版本的 mysql (本地镜像的版本)
\ shell 命令换行符

Docker 安装 Redis

# 搜索镜像
docker search redis

# 拉取镜像
docker pull redis:6.2.6

# 创建Redis目录和数据目录
mkdir -p /mnt/docker/redis
mkdir -p /mnt/docker/redis/data

# 官网下载redis.conf,并手动上传到redis目录
# 官网地址:https://redis.io/docs/management/config/   -v6.2.6

# 创建容器:appendonly  是否持久化 requirepass 密码
docker run -p 6379:6379 \
--restart=always \
--name redis \
--log-opt max-size=100m \
--log-opt max-file=2 \
-v /mnt/docker/redis/redis.conf:/etc/redis/redis.conf \
-v /mnt/docker/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456

# 如果需外网访问,vim /usr/local/server/redis/redis.conf,将bind修改为0.0.0.0,重启容器

Docker 安装 RebbitMQ

# 搜索镜像
docker search rabbitmq:management

# 拉取镜像
docker pull rabbitmq:management

# 创建容器
docker run -d \
        --restart=always \
        --name=rabbitmq \
        -p 5672:5672 \
        -p 15672:15672 \
        -v /mnt/docker/rabbitmq/data:/var/lib/rabbitmq \
        -e RABBITMQ_DEFAULT_USER=root \
        -e RABBITMQ_DEFAULT_PASS=123456 \
rabbitmq:management

# 进入容器
docker exec -it rabbitmq /bin/bash

# 安装插件
rabbitmq-plugins enable rabbitmq_management

# 浏览器访问 http://ip:15672

Docker 安装 MongoDB

mkdir -p /mnt/docker/mongodb/conf/
mkdir -p /mnt/docker/mongodb/data/
mkdir -p /mnt/docker/mongodb/logs/

cd /mnt/docker/mongodb/conf/ && vi mongod.conf
---------------------------------------------------------------------

# 数据库文件存储位置
dbpath = /data/db
# log文件存储位置
logpath = /data/log/mongod.log
# 使用追加的方式写日志
logappend = true
# 是否以守护进程方式运行
# fork = true
# 全部ip可以访问
bind_ip = 0.0.0.0
# 端口号
port = 27017
# 是否启用认证
auth = true
# 设置oplog的大小(MB)
oplogSize=2048

---------------------------------------------------------------------

cd /mnt/docker/mongodb/logs/ && vi mongod.log
##log文件不需要内容##
chmod  777 mongod.log 


docker run -it \
    --name mongodb \
    --restart=always \
    --privileged \
    -p 27017:27017 \
    -v /mnt/docker/mongodb/data:/data/db \
    -v /mnt/docker/mongodb/conf:/data/configdb \
    -v /mnt/docker/mongodb/logs:/data/log/  \
    -d mongo:latest \
    -f /data/configdb/mongod.conf \
    --auth

##进入容器##
docker exec -it mongo /bin/mongosh

##切换到admin库##
> use admin

##创建账号/密码##
db.createUser({ user: 'root', pwd: '123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });

Docker 安装 Nginx

# 搜索镜像
docker search nginx

# 拉取镜像
docker pull nginx

# 创建容器
docker run -di --name=nginx -p 80:80 nginx

# 进入容器,并测试
docker exec -it nginx /bin/bash

# 复制nginx配置到宿主机
docker cp nginx:/etc/nginx /mnt/docker/nginx

# 停止nginx
docker stop nginx

# 删除nginx容器
docker rm nginx

# 重新创建容器:上面的步骤主要是为了生成nginx配置文件到宿主机
docker run -d \
-p 80:80 \
--network my-net \
--restart=always \
--name=nginx \
-v /mnt/docker/nginx:/etc/nginx nginx

# 浏览器访问 http://ip:80

Docker 安装 ES

docker run -d \
  --restart=always \
  --name es \
  -p 7200:9200 \
  -p 7300:9300 \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" \
  -v /mnt/docker/es/data:/usr/share/elasticsearch/data \
  -v /mnt/docker/es/config:/usr/share/elasticsearch/config \
  elasticsearch:7.17.20


docker run -d \
  --restart=always \
  --name es8 \
  -p 8200:9200 \
  -p 8300:9300 \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" \
  -v /mnt/docker/es8/data:/usr/share/elasticsearch/data \
  -v /mnt/docker/es8/config:/usr/share/elasticsearch/config \
  elasticsearch:8.13.0

Docker 安装 Nacos

docker run -d \
  --restart=always \
  --name nacos \
  -p 8848:8848 \
  -v /mnt/docker/nacos/data:/home/nacos/data \
  -v /mnt/docker/nacos/logs:/home/nacos/logs \
  -e MODE=standalone \
  -e JVM_XMS=320m \
  -e JVM_XMX=512m \
  -e JVM_XMN=128m \
  -e JVM_MS=64m \
  -e JVM_MMS=100m \
  -e MYSQL_SERVICE_HOST=docker0 \
  -e MYSQL_SERVICE_PORT=3306 \
  -e MYSQL_SERVICE_DB_NAME=nacos \
  -e MYSQL_SERVICE_USER=root \
  -e MYSQL_SERVICE_PASSWORD=123456 \
  nacos/nacos-server

主机访问虚拟机下的Docker(可选也可不配置) (教程

docker network create -d bridge my-net

ifconfig

firewall-cmd --permanent --zone=external --change-interface=br-04bbb17c317d

firewall-cmd --permanent --zone=external --add-rich-rule='rule family=ipv4 source address=172.18.0.0/24 masquerade'

firewall-cmd --zone=external --list-all

 firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 172.18.0.0/24 -j SNAT --to-source 172.18.0.1

firewall-cmd --direct --get-all-passthroughs

firewall-cmd --zone=external --list-all

firewall-cmd --reload
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容