通过OrbStack对docker进行安装和部署

安装 OrbStack

OrbStack is a fast, light, and simple way to run Docker containers and Linux machines on macOS. You can think of it as a supercharged WSL and Docker Desktop replacement, all in one easy-to-use app.

image.png
image.png

安装MySQL

拉取镜像

docker search mysql    //搜索镜像
docker pull mysql    //拉取镜像
docker images    //查看本地镜像

创建数据卷

将其配置和数据等等挂载到数据卷以持久化到宿主机,并使用 具名挂载(主机数据卷名称:容器文件路径)进行管理。

创建三个数据卷,分别用于挂载并持久化MySQL的 数据文件配置文件日志文件

docker volume create mysql-data
docker volume create mysql-config
docker volume create mysql-log

创建并运行容器

docker run -id --name=mysql -v mysql-config:/etc/mysql/conf.d \
-v mysql-log:/logs \
-v mysql-data:/var/lib/mysql \
-p 3307:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e LANG=C.UTF-8 mysql
  • -id 将MySQL容器挂在后台运行
  • --name=mysql 将容器起名为 mysql
  • -v mysql-config:/etc/mysql/conf.d 把MySQL容器中的配置文件目录挂载至上述创建的名为mysql-config的数据卷上面,其他两个 -v 挂载数据卷的参数同理
  • -p 3307:3306 将主机的 3307 端口映射到容器的 3306
  • -e MYSQL_ROOT_PASSWORD=12345678 设置 root 用户的密码为12345678
  • -e LANG=C.UTF-8 设置容器的语言环境变量 LANG 值为 C.UTF-8

通过容器访问MySQL

docker exec -it mysql bash
mysql -uroot -p

安装redis

拉取镜像

docker pull redis

创建数据卷

docker volume create redis-config
docker volume create redis-data

修改配置文件

cd ~/OrbStack/docker/volumes/redis-config
vim redis.conf

添加
# 启动redis持久化功能
appendonly yes
# 设置密码
requirepass 12345678
# 指定数据存储位置
dir /data

创建容器

docker run -id --name=redis \
-v redis-config:/usr/local/etc/redis \
-v redis-data:/data -p 6379:6379 \
-e LANG=C.UTF-8 redis \ 
su -l root -c "redis-server /usr/local/etc/redis/redis.conf"
  • --name redis 指定容器名字
  • -v 指定数据卷,可见将容器配置文件夹/usr/local/etc/redis挂载至了数据卷redis-config,将容器内/data挂载至数据卷redis-data,可见这里挂载数据卷的容器内路径和我们上述预先写的配置文件中对应的路径是要一致的
  • -p 6379:6379 端口映射
  • -e 用于指定容器内环境变量,设置容器的语言环境变量LANG值为C.UTF-8,这个最好是要设置,否则容器内默认是英文环境,使得Redis可能无法存放中文内容
  • su -l root -c "redis-server /usr/local/etc/redis/redis.conf" 在容器内以root身份运行redis-server并指定了配置文件位置

通过容器执行redis命令

运行redis docker start redis

查看redis运行状态 docker ps | grep redis

进入redis容器内部 docker exec -it redis bash

进入Redis控制台 redis-cli

通过测试连接

MongoDB

安装

docker pull mongo

docker run --name mongo -v mongo-data:/data/db -v mongo-config:/data/configdb --privileged -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 -d mongo --auth

  • –name 指定容器名称
  • -v 指定数据存储位置
  • --privileged root权限
  • -p 端口映射
  • -d 后台运行
  • –auth 需要认证,默认mongo是不需要认证的
  • -e MONGO_INITDB_ROOT_USERNAME=admin 指定用户名
  • -e MONGO_INITDB_ROOT_PASSWORD=123456 指定密码

添加用户

创建普通用户(拥有读写权限)

docker exec -it mongo /bin/bash

mongo --port 27017 -u admin -p 123456 --authenticationDatabase admin

> use test
switched to db test
# 普通用户账户: user, 密码: 123456, 有读写权限;
> db.createUser({user:"user",pwd:"123456",roles:[{role:"readWrite",db:"test"}]});
Successfully added user: {
    "user" : "zk",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "test"
        }
    ]
}

kafka

安装kafka

最新Kafka 使用内置的 ZooKeeper 客户端库来管理主题和分区,因此我们不用额外安ZooKeeper,可以直接安装 Kafka

拉取镜像 docker pull wurstmeister/kafka

创建网络 docker network create kafka-net

启动Kafka服务实例

docker run -d --name kafka \
    --network kafka-net \
     -p 9092:9092 \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    bitnami/kafka:latest

测试Kafka生产者和消费者

docker exec -it kafka /bin/b

cd opt/bitnami/kafka/bin/

开启两个终端

运行生产者发送消息 ./kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic

运行消费者接受消息 ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning

DockerUI

docker常用命令

镜像

docker search <IMAGE NAME>     // 搜索镜像
docker pull <IMAGE NAME>       // 拉取镜像
docker images             // 查看本地镜像
docker rmi <IMAGE ID>     // 删除镜像

容器

docker ps -a                   // 查看所有的容器
docker inspect <CONTAINER ID>  // 查看容器详情
docker start <CONTAINER ID>    // 启动容器
docker restart <CONTAINER ID>
dokcer kill <CONTAINER ID>
docker stop <CONTAINER ID>    // 停止运行中的容器
docker logs <CONTAINER ID>    // 查看容器日志
docker rm -f <CONTAINER ID>   // 删除容器

// 可以用指定的容器名称代替id
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值