docker安装镜像

docker相关命令

查看所有已安装的镜像
docker images

通过容器名或容器id进入容器(mysql举例)
docker exec -it mysql /bin/bash

容器中安装vim命令
apt-get update 命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包
apt-get install vim 安装vim

容器中使用 ll 命令

echo "alias ll='ls -rltha'" >> ~/.bashrc && source ~/.bashrc

查看镜像服务的日志(mysql举例)
docker logs -f mysql

通过容器id删除容器
docker container rm 容器id

查看docker资源占用情况

docker stats

 

docker安装mysql

1、拉取镜像

查询mysql的可用版本
docker search mysql
通过版本号拉取镜像
docker pull mysql:latest
拉取最近版本镜像
docker pull mysql

2、处理mysql启动配置
创建mysql相关目录
mkdir /opt/mysql/data
mkdir /opt/mysql/log
mkdir /opt/mysql/conf

vim /opt/mysql/conf/my.cnf
将下面内容贴进去

[client]
port=20010
default-character-set=utf8mb4

[mysql]
port=20010
default-character-set=utf8mb4

[mysqld]
port=20010
#事务隔离级别
transaction_isolation=READ-COMMITTED
#不区分大小写
lower_case_table_names=1
#禁用DNS域名解析
skip-name-resolve=ON
#默认身份验证插件
authentication_policy=*
#限制导入和导出的数据目录,为空,不限制导入到处的数据目录
secure_file_priv=
skip-character-set-client-handshake
skip-name-resolve
#设置东8区时区
default-time_zone = '+8:00'
#监视服务内部运行情况,关掉后减少内存消耗,自己玩可以关掉,做项目建议开启
performance_schema=off

保存退出

3、运行镜像

docker run -p 20010:20010 --name mysql --restart=always --privileged=true \
-v /opt/mysql/log:/var/log/mysql \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=root -d mysql:latest;

-p 20010:20010:机器端口:容器端口 服务使用的端口
--name mysql:创建的容器名称
--restart=always:总是跟随docker启动
--privileged=true:获取宿主机root权限
-v /opt/mysql/log:/var/log/mysql:映射日志目录,机器目录:容器目录
-v /opt/mysql/data:/var/lib/mysql:映射数据目录,机器目录:容器目录
-v /opt/mysql/conf:/etc/mysql:映射配置目录my.cnf文件地址,机器目录:容器目录
-v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
-e MYSQL_ROOT_PASSWORD=root:指定mysql环境变量,root用户的密码为root
-d mysql:latest:后台运行mysql容器,版本是latest

4、查看mysql是否正常运行
docker ps
如果显示的是up状态,那就是启动成功了。如果是restarting,说明是有问题的,如果有问题,第5步是执行不下去的,需解决
如果有问题查看mysql日志
docker logs -f mysql

5、进入mysql容器
docker exec -it mysql /bin/bash

6、登录mysql
mysql -uroot -p

7、选择连接数据库
use mysql
8、查看数据库用户
select host, user, plugin, authentication_string, password_expired from user;
9、创建用户并授权
CREATE USER 'admin'@'%' IDENTIFIED BY 'admin';
FLUSH PRIVILEGES;
update user set Update_priv='Y' where user='admin';
update user set Grant_priv ='Y'where user = 'admin';
flush privileges;
grant all privileges on *.* to admin@'%' with grant option;
flush privileges;

docker安装redis

1、拉取镜像
docker pull redis

2、处理redis启动配置
创建redis相关目录
mkdir /opt/redis/data
mkdir /opt/redis/conf

vim /opt/redis/conf/redis.conf
将下面内容贴进去

port 20020
daemonize no
databases 5
requirepass redis

保存退出

3、运行镜像
docker run \
-p 20020:20020 \
--name redis \
--restart=always \
--privileged=true \
--log-opt max-size=100m \
--log-opt max-file=2 \
-v /opt/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /opt/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf \
--appendonly yes --requirepass redis

docker安装minio

1、拉取镜像
docker pull minio/minio

2、处理minio启动配置
创建minio相关目录
mkdir /opt/minio/data
mkdir /opt/minio/conf

vim /opt/redis/conf/redis.conf
将下面内容贴进去

port 20020
daemonize no
databases 5
requirepass redis

保存退出

3、运行镜像
docker run \
-p 20030:20030 \
-p 20031:20031 \
--name minio \
-d --restart=always \
-e MINIO_ACCESS_KEY=minio \
-e MINIO_SECRET_KEY=minio123456 \
-v /opt/minio/data:/data \
-v /opt/minio/conf:/root/.minio \
minio/minio server /data \
--console-address ":20030" -address ":20031"

docker 安装kafka

安装zookeeper
1、拉取zookeeper镜像
docker pull wurstmeister/zookeeper

2、处理启动配置
创建相关目录
mkdir /opt/zookeeper/data
mkdir /opt/zookeeper/conf
mkdir /opt/zookeeper/log

vim /opt/zookeeper/conf/zoo.cfg
将下面内容贴进去

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data
clientPort=20040

保存退出

3、运行镜像

docker run -d \
-p 20040:20040 \
--name zookeeper \
--privileged=true \
--restart=always \
-v /etc/localtime:/etc/localtime \
-v /opt/zookeeper/data:/data \
-v /opt/zookeeper/conf:/conf \
-v /opt/zookeeper/log:/datalog \
zookeeper

安装kafka
1、拉取镜像
docker pull wurstmeister/kafka

2、运行镜像

docker run -d \
--name kafka \
-p 9092:9092 \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper服务器IP:20040 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka服务器Ip:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-v /etc/localtime:/etc/localtime \

-v /opt/kafka/logs:/opt/kafka/logs \

wurstmeister/kafka

 

安装nacos
1、拉取镜像
docker pull nacos/nacos-server
2、运行镜像
docker run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /opt/nacos/log:/home/nacos/logs \
nacos/nacos-server

 

安装mongo

1、编辑mongodb.conf

storage:
  dbPath: /opt/mongo/data
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path: /opt/mongo/logs/mongod.log
net:
  port: 20040
  bindIp: 0.0.0.0
auth: false


2、运行镜像

docker run -it \
--name mongo \
--restart=always \
--privileged \
-p 20040:27017 \
-v /opt/mongo/data:/data/db \
-v /opt/mongo/logs:/data/log/ \
-v /data/mongo/conf:/data/conf \
-e LANG=C.UTF-8 \
-e "TZ=Asia/Shanghai" \
-d mongo:7.0

3、创建admin账户 连接mongodb命令 mongosh --host localhost:27017 -u admin -p mypassword
docker exec -it mongo /bin/bash
mongosh --port 20040
use admin
db.createUser({ user:'root',pwd:'root',roles:['root']});
db.auth('root', 'root');

安装fastdfs
docker run --restart=always -d \
--network=host \
--name tracker \
-v /opt/fastdfs/tracker:/var/fdfs \
-v /opt/fastdfs/tracker/conf/tracker.conf:/etc/fdfs/tracker.conf \
-v /etc/localtime:/etc/localtime \
delron/fastdfs tracker

docker run --restart=always -d \
--network=host \
--name storage \
-e TRACKER_SERVER=172.16.0.68:22122 \
-v /opt/fastdfs/storage/data:/var/fdfs \
-v /opt/fastdfs/storage/conf/storage.conf:/etc/fdfs/storage.conf \
-v /etc/localtime:/etc/localtime \
delron/fastdfs storage

二进制安装
# 更新yum包数据库
yum makecache fast

# 安装必要的依赖
yum install -y git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel

# 下载FastDFS源码
cd /usr/local/src && wget https://github.com/happyfish100/fastdfs/archive/refs/tags/V6.06.tar.gz
tar -zxvf V6.06.tar.gz

# 编译安装FastDFS
cd fastdfs-6.06 && ./make.sh && ./make.sh install

# 安装libfastcommon
cd .. && wget https://github.com/happyfish100/libfastcommon/archive/refs/tags/V1.0.43.tar.gz
tar -zxvf V1.0.43.tar.gz
cd libfastcommon-1.0.43 && ./make.sh && ./make.sh install

# 配置FastDFS
# 这里需要根据实际情况配置tracker.conf和storage.conf文件
# 例如:
# cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
# vim /etc/fdfs/tracker.conf 修改配置文件
# 启动FastDFS tracker
/etc/init.d/fdfs_trackerd start

# 同样的,对storage进行配置并启动
# cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
# vim /etc/fdfs/storage.conf 修改配置文件
# /etc/init.d/fdfs_storaged start

# 设置开机启动
chkconfig fdfs_trackerd on
chkconfig fdfs_storaged on

安装rabbimq
docker run -d \
-v /opt/rabbitmq/data:/var/lib/rabbitmq \
-p 5672:5672 -p 15672:15672 --name rabbitmq --restart=always \
--hostname myRabbit rabbitmq:3.9.12-management

 

 

posted @ 2023-05-16 11:00  如若千夫所指  阅读(165)  评论(0编辑  收藏  举报