docker實戰安裝myql,redis,mongo
阿新 • • 發佈:2020-11-10
安裝mysql
今天試試mysql實戰安裝myql
先pull映象
docker pull mysql:5.6
接著啟動mysql映象
docker run -p 12345:3306 --name mysql56 \ -v /home/zack/dockerwork/mysql/conf:/etc/mysql/conf.d \ -v /home/zack/dockerwork/mysql/logs:/logs \ -v /home/zack/dockerwork/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:5.6
我們檢視下docker ps 列出所有docker程序
然後我們進入docker裡
docker exec -it 615164d51197 /bin/bash
進入後我們使用myql登入
mysql -uroot -p
輸入密碼後進入mysql。之後就可以建立資料庫和表了。
啟動mongo容器
首先先下載mongo的安裝包,然後解壓放在自己設定的目錄下
FROM ansible/centos7-ansible:latest RUN mkdir -p /data/mongodb/log/ RUN mkdir -p /data/mongodb/bin RUN mkdir -p /data/mongodb/data #RUN yum install libssl1.0.0 libssl-dev ENV PATH /data/mongodb/bin:$PATH ADD mongodb-linux-x86_64-rhel70-4.2.8 /data/mongodb WORKDIR /data/mongodb/ EXPOSE 60000 #VOLUME ["/data/env/mongo/data/:/data/mongodb/data","/data/env/mongo/log/:/data/mongodb/log/"] CMD ["/data/mongodb/bin/mongod","-f", "/data/mongodb/mongodb.conf"]
根據Dockerfile生成映象
docker build -f ./Dockerfile -t mymongo .
啟動docker
docker run -p 54321:60000 --name submitmg -v /home/zack/dockerwork/mongodb_/data:/data/mongodb/data -v /home/zack/dockerwork/mongodb_/log:/data/mongodb/log/ --privileged=true -d mymongo
進入docker容器
docker exec -it cdebf8e13939 /bin/bash
登入資料庫
./mongo --port 60000
建立資料庫 submit
use submit
建立資料庫表
db.createCollection("log_info")
文件結構如下
{ "compareid":"12345", "ic":"23333HC", "phone":"18301152001", "url":"www.singlepo.com", "dir":0, "imageurl":"www.singlepo.com/wangqiang.jpg" }
建立索引
db.log_info.createIndex({"ic":1,"compareid":-1})
插入資料測試
db.log_info.insert({ "compareid":"12345", "ic":"23333HC", "phone":"18301152001", "url":"www.singlepo.com", "dir":0, "imageurl":"www.singlepo.com/wangqiang.jpg" })
查詢剛才插入的資料
db.log_info.find()
啟動redis容器
1 拉取映象
docker pull redis:3.2
2 用映象啟動容器
docker run -p 6679:6379 -v /home/zack/dockerwork/redis/data:/data -v /home/zack/dockerwork/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -d redis:3.2 redis-server /usr/local/etc/redis/redis.conf --appendonly yes
3 配置redis
在/home/zack/dockerwork/redis/conf/redis.conf下建立redis.conf檔案
port 6379 tcp-backlog 511 timeout 0 tcp-keepalive 0 loglevel notice logfile "" databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbchecksum yes dbfilename dump.rdb dir ./ slave-serve-stale-data yes slave-read-only yes repl-diskless-sync no repl-diskless-sync-delay 5 repl-disable-tcp-nodelay no slave-priority 100 maxheap 51200000 heapdir ./ appendonly no appendfilename "appendonly.aof" appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes
4 啟動客戶端
docker exec -it 139abd0bd512 redis-cli
進入命令模式後就可以set key value測試了。退出容器可以在redis/data路徑裡看到appendonly.aof檔案裡有命令