安装容器
> docker search <image>
> docker pull <image>
> docker run -d --name <name> -p 81:80 -e ENV=xxx -v /home/data:/opt/data --link source[:alias] --restart=always <image>
参数说明:
-d 后台运行
--name 容器名称
-p 81:80 宿主机端口(81)映射到容器端口(80)
-e ENV=xxx 添加环境变量
-v /home/data:/opt/data 宿主机地址(/home/data)映射到容器地址(/opt/data)
--link source[:alias] 连接容器(source)并为其设置别名(alias),别名可省略
--restart=always 自启动
常用命令
> docker search [options] <image>
> docker pull <image>
> docker images
> docker image rm <image>
> docker ps
> docker ps -a
> docker inspect <image/container>
> docker logs -f <容器名 or ID>
> docker rm <容器名 or ID>
> docker rm $(docker ps -a -q)
> docker start <容器名 or ID>
> docker restart <容器名 or ID>
> docker stop <容器名 or ID>
> docker kill <容器名 or ID>
> docker exec -it <容器名 or ID> /bin/bash
修正容器时间
> docker cp /usr/share/zoneinfo/Asia/Shanghai <容器名 or ID>:/usr/share/zoneinfo/Asia
> ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
> echo "Asia/Shanghai" > /etc/timezone
> date
常用容器
redis
> docker pull redis
> docker run -d --name redis -p 6379:6379 --restart=always redis --requirepass 123456
mysql
> docker pull mysql
> docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /home/docker/mysql/conf:/etc/mysql/conf.d --restart=always mysql
mongo
> docker pull mongo
> docker run -d --name mongo -p 27017:27017 --restart=always mongo --auth
> docker exec -it mongo mongosh admin
> db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
rabbitmq
> docker pull rabbitmq:management
> docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 --restart=always rabbitmq:management
nacos + mysql
> https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/
> docker pull nacos/nacos-server
> mkdir -p /home/docker/nacos
> vi /home/docker/nacos/application.properties
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/itcfg_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
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
> docker run -d --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 -e MODE=standalone -v /home/docker/nacos/application.properties:/home/nacos/conf/application.properties --restart=always nacos/nacos-server