Docker学习总结

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安装

下载

文件分享https://share.weiyun.com/7dAw7rJ2

默认上传到

/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 nginx

docker 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

*8083influxdbweb管理工具端口,8086influxdbHTTP 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"

测试

ip:9090

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值