docker系列-脚本sh总结

197 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情

1.控制台方式选择容器

命令如下:

#/bin/bash

#A=(a b c d e f)
#echo ${A[2]}
#exit

arr=$(docker ps|awk '{print $NF}')

index=-1
echo "---------------"
for i in ${arr[@]}
do
  index=$((index+1))
  echo "    [$index]  $i"
done
echo "---------------"

#docker ps|awk '{print $NF}'
echo -n "which docker you want enter[1-$index]:"
read docker_index
echo "index: $docker_index"

index=-1
for i in ${arr[@]}
do
  index=$((index+1))
  if [ $index = "$docker_index" ]; then
    echo $i
    docker exec -ti $i /bin/bash
  fi
done

image.png

2. 搭建 meilisearch

Meilisearch is a powerful, fast, open-source, easy to use and deploy search engine. Both searching and indexing are highly customizable. Features such as typo-tolerance, filters, and synonyms are provided out-of-the-box.

Meilisearch是一个强大、快速、开源、易于使用和部署的搜索引擎。搜索和索引都是高度可定制的。诸如错字、过滤器和同义词等特性都是开箱即用的

官网效果图 image.png 命令如下

MEILISEARCH_CONTAINER_Name="meilisearch"
MEILISEARCH_PORT="7700"
docker rm -f $MEILISEARCH_CONTAINER_Name
docker run \
  -d \
  --net=host \
  --name $MEILISEARCH_CONTAINER_Name \
  -p $MEILISEARCH_PORT:7700 \
  -v /home/worker/meilisearch/data/data.ms:/data.ms \
  getmeili/meilisearch

3.搭建redis

命令如下

docker rm -f redis
docker run -d -p 6379:6379 -v /home/worker/redis_data_worker2/data:/data --name=redis redis:3.2 /bin/bash -c "redis-3.2.0/src/redis-server /data/redis.conf.3.2"

4.搭建mongo

命令如下

name=mongodb
port=27017
docker rm -f $name || echo "no such name"
docker run -d \
    -p $port:27017 \
    -v /home/worker/mongo/mongo_data:/data/db \
    -v /home/worker/mongo/mongo_log:/var/log/mongod \
    -v /home/worker/lgj:/lgj \
    --name $name \
    mongo:latest /bin/bash -c "mongod"

5.搭建mysql

MYSQL_USER="root"
MYSQL_DATABASE=""
MYSQL_CONTAINER_NAME="mysql"
MYSQL_ROOT_PASSWORD="root"
MYSQL_PORT="3306"
docker rm -f $MYSQL_CONTAINER_NAME
docker run \
  -d \
  --name $MYSQL_CONTAINER_NAME \
  -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD \
  -p $MYSQL_PORT:3306 \
  -v /home/worker/mysql_data/data:/var/lib/mysql \
  -v /home/worker/mysql_data/my.cnf:/etc/mysql/mysql.cnf \
  -v /home/worker/lgj:/lgj \
  mysql:latest



# create user 'worker'@'%' identified by 'worker';
# grant all on *.* to 'worker'@'%';

#-v /ssd/mysql_data/data:/var/lib/mysql \

6.搭建rabbitmq

host_name="rabbit"
container_name2="rabbit-manager"

docker rm -f $container_name2
docker run -d -p 5672:5672 -p 15672:15672 --hostname $host_name --name ${container_name2} rabbitmq-management

以上是常用的几种脚本,做为一个后端开发基础的运维环境搭建能力还是要有的,因此本文主要在于整理并分享几种常见的环境,从而让程序猿有更多的时间去研究更高深的知识,避免在环境搭建上浪费过多时间。

会持续完善并修改,欢迎提建议或者加大总结哦🏄‍♀️