安装 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.
安装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
文章来源:https://www.toymoban.com/news/detail-651726.html
运行消费者接受消息 ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning
文章来源地址https://www.toymoban.com/news/detail-651726.html
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
到了这里,关于通过OrbStack对docker进行安装和部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!