Docker安装redis

1、拉取镜像

1
docker pull redis

2、创建容器

创建本地环境映射

1
2
3
4
5
6
7
8
9
mkdir -p ~/data/redis/dada ~/data/redis/etc/
cd ~/data/redis/etc/
vi redis.conf

##文件内内容
daemonize no
requirepass 123456
appendonly yes
tcp-keepalive 300

创建容器

1
sudo docker run -p 6379:6379 --name redis -v ~/data/redis/etc/redis.conf:/usr/local/etc/redis/redis.conf -v ~/data/redis/data:/data -d redis:6.2 redis-server /usr/local/etc/redis/redis.conf --appendonly yes

redis-server /usr/local/etc/redis/redis.conf --appendonly yes 运行命令追加在最后

-d, –detach=false, 指定容器运行于前台还是后台,默认为 false -i, –interactive=false, 打开 STDIN,用于控制台交互
-t, –tty=false, 分配 tty 设备,该可以支持终端登录,默认为 false -u, –user="", 指定容器的用户
-a, –attach=[], 登录容器(必须是以 docker run -d 启动的容器) -w, –workdir="", 指定容器的工作目录 -c, –cpu-shares=0, 设置容器 CPU 权重,在 CPU 共享场景使用 -e, –env=[], 指定环境变量,容器中可以使用该环境变量 -m, –memory="", 指定容器的内存上限
-P, –publish-all=false, 指定容器暴露的端口
-p, –publish=[], 指定容器暴露的端口 -h, –hostname="", 指定容器的主机名
-v, –volume=[], 给容器挂载存储卷,挂载到容器的某个目录
–volumes-from=[], 给容器挂载其他容器上的卷,挂载到容器的某个目录
–cap-add=[], 添加权限,权限清单详见:http://linux.die.net/man/7/capabilities
–cap-drop=[], 删除权限,权限清单详见:http://linux.die.net/man/7/capabilities –cidfile="", 运行容器后,在指定文件中写入容器 PID 值,一种典型的监控系统用法
–cpuset="", 设置容器可以使用哪些 CPU,此参数可以用来容器独占 CPU
–device=[], 添加主机设备给容器,相当于设备直通
–dns=[], 指定容器的 dns 服务器
–dns-search=[], 指定容器的 dns 搜索域名,写入到容器的/etc/resolv.conf 文件
–entrypoint="", 覆盖 image 的入口点 –env-file=[], 指定环境变量文件,文件格式为每行一个环境变量
–expose=[], 指定容器暴露的端口,即修改镜像的暴露端口
–link=[], 指定容器间的关联,使用其他容器的 IP、env 等信息 –lxc-conf=[], 指定容器的配置文件,只有在指定–exec-driver=lxc 时使用
–name="", 指定容器名字,后续可以通过名字进行容器管理,links 特性需要使用名字
–net=“bridge”, 容器网络设置:
bridge 使用 docker daemon 指定的网桥
host //容器使用主机的网络 container:NAME_or_ID >//使用其他容器的网路,共享 IP 和 PORT 等网络资源
none 容器使用自己的网络(类似–net=bridge),但是不进行配置 –privileged=false, 指定容器是否为特权容器,特权容器拥有所有的 capabilities
–restart=“no”, 指定容器停止后的重启策略:
no:容器退出时不重启
on-failure:容器故障退出(返回值非零)时重启
always:容器退出时总是重启
–rm=false, 指定容器停止后自动删除容器(不支持以 docker run -d 启动的容器)
–sig-proxy=true, 设置由代理接受并处理信号,但是 SIGCHLD、SIGSTOP 和 SIGKILL 不能被代理

进入容器

1
docker exec -it redis /bin/bash

1、拉取镜像

1
2
docker pull mysql:5.7
docker images

2.创建 mysql 容器

在本地创建 mysql 的映射目录

1
2
3
mkdir -p /home/ubuntu/data/mysql/mysql57/data /home/ubuntu/data/mysql/mysql57/logs /home/ubuntu/data/mysql/mysql57/conf
cd /root/mysql/conf
touch my.cnf  #修改配置再my.cnf中写即可

创建容器,将数据,日志,配置文件映射到本机

1
docker run -p 3306:3306 --name mysql -v /home/ubuntu/data/mysql/mysql57/conf:/etc/mysql/conf.d -v /home/ubuntu/data/mysql/mysql57/logs:/logs -v /home/ubuntu/data/mysql/mysql57/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

-d: 后台运行容器

-p 将容器的端口映射到本机的端口

-v 将主机目录挂载到容器的目录

-e 设置参数

方式一

1.拉取镜像
1
docker pull nacos/nacos-server
2.挂载目录
1
2
mkdir -p ~/data/nacos/logs/ ~/data/nacos/init.d/   #创建目录          
vim ~/data/nacos/init.d/application.properties        #修改配置文件

添加如下参数:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=pass


nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false

management.metrics.export.elastic.enabled=false

management.metrics.export.influx.enabled=false


server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i


nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true

:wq 保存退出

3.启动容器
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
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 ~/data/nacos/logs/:/home/nacos/logs \
-v ~/data/nacos/init.d/application.properties:/home/nacos/init.d/application.properties \
nacos/nacos-server
Built with Hugo     主题 StackJimmy 设计