1、Docker常用命令
启动docker
systemctl start docker
查看docker状态:
systemctl status docker
关闭docekr
systemctl stop docker
开机自启docker
systemctl enable docker
搜索容器镜像:
docker search [redis|tomcat|centos]
下拉容器到本地:
docker pull [redis|tomcat|centos]
查看镜像:
docker images
删除镜像
docker rmi $id
10. 开机自启
docker update [mysql] --restart=always
11. docker监控
docker stats
2、初始化tomcat容器:
docker run
-it
-p 8080:8080
-v /usr/local/datas:/usr/local/datas
--name mytomcat
-d tomcat:7
3、启动mysql容器:
docker run -p 3306:3306 --name mysql
-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=123456
-d mysql:5.7
3.1 远程连接改变编码
## 进入容器
docker exec -it [mysql] /bin/bash
mysql -uroot -p
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
# 刷新
FLUSH PRIVILEGES;
3.2 在/mydata/mysql/conf/ 创建初始化配置文件my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect=‘SET collation_connection = utf8_unicode_ci’
init_connect=‘SET NAMES utf8’
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
4、启动rabbitmq容器
docker run -d --name rabbitmq
-p 5671:5671
-p 5672:5672
-p 4369:4369
-p 25672:25672
-p 15671:15671
-p 15672:15672
rabbitmq:management
解释:
4369、25672 (Erlang发现&集群端口)
5672、5671 (AMQP端口)
15672 (web管理后台端口)
61613、61614 (STOMP协议端口)
1883、8883 (MQTT协议端口)
https://www.rabbitmq.com/networking.html
5、启动elasitcsearch
5.1、 下载镜像
存储和检索数据
docker pull elasticsearch:7.6.2
可视化检索数据
docker pull kibana:7.6.2
5.2、 创建elasticsearch实例
5.2.1、 创建挂载目录
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
5.2.2、进入/mydata/elasticsearch/config目录下执行
[root@localhost config]# echo "http.host:0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml
5.2.3、 初始化容器
查看虚拟机可用内存
free -m
docker run --name elasticsearch -p 9200:9200 -p 9300:9300
-e "discovery.type=single-node"
-e ES_JAVA_OPTS="-Xms64m -Xmx128m"
-v /mydata/elasticsearch/config/elasticsearch.yml:/user/share/elasticsearch/config/elasticsearch.yml
-v /mydata/elasticsearch/data:/user/share/elasticsearch/data
-v /mydata/elasticsearch/plugins:/user/share/elasticsearch/plugins
-d elasticsearch:7.6.2
解释
--name
elasticsearch 给容器的名字
-p
9200:9200 发送http请求分配的端口
-p
9200:9200 分布式节点下的通讯端口
-e
"discovery.type=single-node" 单节点运行
-e
ES_JAVA_OPTS="-Xms64m -Xmx=128m" 初始内存64m 最大内存512m 实际开发可以自己调节 不指定es启动会吧内存占用完直接卡死
-v
挂载到之前创建的文件目录
-d
后台启动
5.3、 创建Kibana
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.137.14:9200 -p 5601:5601 -d kibana:7.6.2
6、启动redis容器
6.1 #先创建目录结构
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
6.2 初始化redis
docker run -p 6379:6379 --name redis
-v /mydata/redis/data:/dada
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf
-d redis redis-server /etc/redis/redis.conf
redis配置文件 https://raw.githubusercontent.com/redis/redis/4.0/redis.conf
7、安装nginx
## 随便启动一个nginx实例,只为复制出配置
docker run -p 80:80 --name nginx -d nginx:1.10
## 将容器内的配置文件拷贝到当前目录(注意后面的点)
docker container cp nginx:/etc/nginx .
## 修改文件名称
mv nginx conf
## 把这个conf移动到 /mydata/nginx下
mv conf /nginx
## 终止原来的容器
docker stop nginx
## 删除原容器
docker rm nginx
创建新的nginx执行下面命令
docker run -p 80:80 --name nginx
-v /mydata/nginx/html:/usr/share/nginx/html
-v /mydata/nginx/logs:/var/log/nginx
-v /mydata/nginx/conf:/etc/nginx
-d nginx:1.10
8、部署 xxl-job-admin
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.56.1:3306/pigxx_job?Unicode=true&characterEncoding=UTF-8&useSSL=false --spring.datasource.username=root --spring.datasource.password=123456 --xxl.admin.login=false"
-p 9080:8080 --name xxl-job-admin
-d xuxueli/xxl-job-admin:2.2.0