Docker V20.10.14一键安装
下载
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
启动
systemctl start docker
查看
docker -v
查看各容器占用资源情况
docker stats
查看镜像
docker images
删除镜像
docker rmi [name]
创建容器并运行
docker run -itd --name [容器名] -p [主机端口]:[容器端口] -e [参数] [镜像名]
查看运行中的容器
docker ps
删除容器
docker rm -f [containerid]
进入容器
docker exec -it [name] /bin/bash
退出容器
exit //退出且关闭容器
ctrl + p + q (快捷键)//仅退出
查看日志
docker logs -f [name]
docker logs -f –-tail=500 [name] // 实时查看最后500条日志
将主机文件复制到容器中(复制出来路径对调即可)
docker cp [文件夹/文件] [容器名]:[容器路径]
查看所有使用的端口
netstat -untlp
设置已经创建的容器自启动
docker update --restart=always
对已创建的容器重命名
docker rename [旧容器名] [新容器名]
查看docker磁盘具体占用情况
docker system df
查看所有的none镜像
docker images | grep none
查询所有的none镜像的id
docker images | grep none | '{print $3}'
删除名称或标签为none的镜像
docker rmi -f `docker images | grep '<none>' | awk '{print $3}'`
docker rmi $(docker images | grep "none" | awk '{print $3}')
进入容器后vi命令失效可用sed替换命令
sed -i ‘s#old#new#g’ fileName
docker-compose V2.4.1安装
下载
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
赋予权限
sudo chmod +x /usr/local/bin/docker-compose
查看
docker-compose -version
Dockerfile启动jar包简单示例,文件需与jar在同一目录
Dockerfile文件:
FROM java:8-alpine
COPY ./*.jar ./app.jar
ENTRYPOINT java -jar ./app.jar
docker-compose-yml简单示例
version: ‘3’
services:
app:
build: ./app
environment:
- TZ=Asia/Shanghai
ports:
- "8088:8088"
打包jar或者其他为镜像,需要Dockerfile文件,如app目录下有jar包和Dockerfile文件(更新同理)
docker build -t [镜像名] /app/.
查看镜像
docker-compose images
查看容器
docker-compose ps
启动(后台启动加-d)指定镜像
docker-compose up -d [镜像名]
停止
docker-compose stop [镜像名]
停止且删除
docker-compose down [镜像名]
jdk 1.8.0_161安装
下载
默认上传到
/software
解压
tar -xzvf jdk-8u161-linux-x64.tar.gz
移动改名
mv jdk1.8.0_161 /usr/local/java
修改配置文件
vi /etc/profile
在文件最下面添加
JAVA_HOME=/usr/local/java
JRE_HOME=/usr/local/java/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
使配置生效
source /etc/profile
查看
java -version
mysql5.7安装
下载
docker pull mysql:5.7
查看
docker images
运行(密码为000000.)
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxxxxx mysql:5.7
进入mysql容器
docker exec -it mysql /bin/bash
连接测试
mysql -u root -p
--------------------------------------------------------------------------------
修改mysql密码
SET PASSWORD = PASSWORD('xxxxxx');
mysql> use mysql;
mysql> update user set password=password(‘abc123456’) where user=‘root’ and host=‘localhost’;
//刷新权限
mysql> flush privileges;
Group up问题
全局(对新建的数据库有效)
set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
修改已创建的数据库
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
永久配置
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
redis安装
下载
docker pull redis:latest
查看
docker images
运行
docker run -itd --name redis -p 6379:6379 redis
进入Redis容器
docker exec -it redis /bin/bash
连接测试
redis-cli
redis图形化界面
https://github.com/lework/RedisDesktopManager-Windows/releases
nacos V2.0.0安装
下载
docker pull nacos/nacos-server:2.0.0
查看
docker image
下载nacos_config数据库文件导入到mysql
启动
docker run -d \
-e JVM_XMS=512m \
-e JVM_XMX=1g \
-e PREFER_HOST_MODE=ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=ip \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=xxxxxx \
-p 8848:8848 \
--name nacos \
--privileged=true \
--restart=always \
-v /usr/local/nacos/logs:/home/nacos/logs \
nacos/nacos-server:2.0.0
访问,账号密码nacos\nacos
ip:8848/nacos
查看启动/报错日志
cat /usr/local/nacos/logs/start.out
Nginx安装
下载
docker pull nginx:latest
启动(需要nginx.conf文件和nginx静态资源文件挂载)
docker run -p 80:80 --name nginx -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -d nginxdocker run --net host --name nginx -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data:/data -d nginx
ES V7.2.0安装
下载
docker pull elasticsearch:7.2.0
启动
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.2.0
进入容器
docker exec -it elasticsearch /bin/bash
进入bin目录
cd bin
ik V7.2.0分词安装
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
访问测试,能否分词
http://ip:9200/
POST _analyze
{
"analyzer": "ik_max_word",
"text":"阿里巴巴有限公司"
}
*ik_smart 最少切分
*ik_max_word 最细切分
进入容器以下目录
cd /usr/share/elasticsearch/config/analysis-ik/
设置远程ik分词语和停用语(如在本地,只需在此目录创建文件即可)
sed -i 's# <!-- <entry key="remote_ext_dict">words_location</entry> -->#<entry key="remote_ext_dict">http://ip/ext.dic</entry>#g' IKAnalyzer.cfg.xml
sed -i 's#<!-- <entry key="remote_ext_stopwords">words_location</entry> -->#<entry key="remote_ext_stopwords">http://ip/stopword.dic</entry>#g' IKAnalyzer.cfg.xml
Elasticsearch-head V5安装
下载
docker pull mobz/elasticsearch-head:5
启动运行
docker run –-name elasticsearch-head -p 9100:9100 –restart=always mobz/elasticsearch-head:5
进入elasticsearch容器解决跨域问题
docker exec -it elasticsearch /bin/bash
vi config/elasticsearch.yml
在yml文件最后面添加
http.cors.enabled: true
http.cors.allow-origin: "*"
进入elasticsearch-head容器解决数据不能浏览问题
docker exec -it elasticsearch-head /bin/bash
由于docker不能直接修改js文件,所有复制出来修改
docker cp elasticsearch-head:/usr/src/app/_site/vendor.js /data/smart/es/
修改js文件6886行
contentType: "application/json;charset=UTF-8"
7573行,保存
var inspectData = s.contentType === "application/json;charset=UTF-8"
复制回容器
docker cp /data/smart/es/vendor.js elasticsearch-head:/usr/src/app/_site/vendor.js
重启
docker restart elasticsearch
docker restart elasticsearch-head
访问
http://ip:9100/
Kibana V7.2.0安装
下载
docker pull kibana
启动
docker run -d --name kibana -e ELASTICSEARCH_HOSTS=http://36.137.197.188:9200 -p 5601:5601 kibana:7.2.0
测试
http:// ip:5601
influxdb安装
下载
docker pull influxdb
启动
docker run -d -p 8083:8083 -p8086:8086 --expose 8090 --expose 8099 --name influxdb influxdb
*8083是influxdb的web管理工具端口,8086是influxdb的HTTP API端口,8099允许容器接受外部传入的数据
测试
http://ip:8086
账号/密码
admin/admin123456
Initial Organization Name/Initial Bucket Name-初始化组织名/初始化桶名(可随便填)
hatech/monitor
查看token
Data—->API Tokens—->admin’s Token
minio安装
下载
docker pull minio/minio
启动
docker run -p 9000:9000 -p 9090:9090 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=minio123" -v /usr/local/minio/data:/data minio/minio server /data --console-address ":9090" -address ":9000"
测试
rabbitmq安装
方式一:
下载
docker pull rabbitmq
启动
docker run -d --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq
下载web管理页面
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
--------------------------------------------------------------------------------
方式二
下载
docker pull rabbitmq:management
启动
docker run -d \
--name my-rabbitmq \
-p 5672:5672 -p 15672:15672 \
-v /usr/local/rabbitmq:/var/lib/rabbitmq \
-e RABBITMQ_DEFAULT_VHOST=/ \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=123456 \
--restart=always \
rabbitmq:management
--------------------------------------------------------------------------------
测试
ip:15672
账号/密码(默认)
guest/guest