Docker常用软件安装
centos8安装Docker
#1.卸载老版本 sudo yum remove docker docker-client docker-client-latest docker-common docker-latestdocker-latest-logrotate docker-logrotate docker-engine #2.centos原有服务升级(可选) sudo yum -y update # 3.设置存储库 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #4.安装 sudo yum install -y https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.13-3.sudo yum install docker-ce docker-ce-cli #5.启动 sudo systemctl start docker #6.替换docker源地址 sudo vim /etc/docker/daemon.json #文件中添加一下内容,有该内容可以替换地址: { "registry-mirrors": ["https://coayztb6.mirror.aliyuncs.com"] } 7.重启 sudo systemctl daemon-reload sudo systemctl restart docker 8.开机自启动 systemctl enable docker.service
#### Docker 创建网卡
```java
#查看docker的所有网卡docker network ls
#删除docker指定网卡
docker network rm网卡工D
#创建网卡
docker network create --subnet=172.18.1.0/24 static
#使用案例
docker run --name=容器NAME --net static --ip 172.18.1.1 -d镜像ID
Docker 安装mysql8.0
#拉取mysql8.o
docker pull mysql:8.0
#docker运行mysql8.0(--restart=always[自动重启];--privileged=true [授以root权限];--net static[自定义网卡];--ip 172.18.0.66[绑定IP])
docker run l
--name mysql8.o i--restart=always --privileged=true l--net static l
--ip 172.18.0.66 1-p 3306:3306 \
-v l dockerfile/ mysql/ logs : / var/ log/rmysql :rw l-y l dockerfile/mysql/ data : / var/ lib/rysql : rw l-v /etc/ localtime : / etc/localtime:ro l
-e MYSQL_ROOT_PASSWORD=123456 l-d mysql :8.0
#进入容器mysql8.0
docker exec -it mysql8.0 bash#进入容器内的mysql
mysql -uroot -p
#开启首次使用,远程端才能连接使用
use mysql
#MySQL8.0登录提示caching_sha2_password问题解决方法
1.查看身份验证类型
use mysql;
SELECT Host, User, plugin from user;
2.修改身份验证类型(修改密码)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '@password-mysql';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '@password-mysql';
Docker 安装 elasticsearch7.10.1
# 拉取镜像elasticsearch7.10.1
docker pull elasticsearch:7.10.1
# 基本启动命令
# -e "discovery.type=single-node" 单节点集群
# -e ES_JAVA_OPTS="-Xms512m -Xmx512m" 制定运行参数,不然如果机器内存太小,启动后会非常卡顿
docker run \
--restart=always \
--name es7.10 \
--net static \
--ip 172.18.0.90 \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms4096m -Xmx4096m" \
-v /dockerfile/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /dockerfile/elasticsearch/data:/usr/share/elasticsearch/data \
-v /dockerfile/elasticsearch/logs:/usr/share/elasticsearch/logs \
-d elasticsearch:7.10.1
# 做映射之前赋予文件夹相应权限,默认创建的文件夹权限就是755,所以/dockerfile/elasticsearch/plugins不用改权限
chmod -R 775 /dockerfile/elasticsearch/data
chmod -R 775 /dockerfile/elasticsearch/logs
# data和logs文件夹刚开始是空的,数据是启动时自己加进去的,所以可以做映射,
# plugins文件夹刚开始是没有安装插件的,也是空的,所以也可以做映射
# config文件夹是配置文件,不能用空目录做映射,否则启动直接退出,除非自己创建的文件夹中有相关配置文件
# 可以先进入容器,讲config文件夹拷贝出来,得到一份配置文件
-v /dockerfile/elasticsearch/config:/usr/share/elasticsearch/config \
# 进入容器中
docker exec -it es7.10 /bin/bash
# Ik分词器版本要和ES和Kibana版本保持一致
# 此命令需要在容器中运行
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.1/elasticsearch-analysis-ik-7.10.1.zip
# 退出容器,重启容器
docker restart es7.10
Docker 安装 kibana7.10.1
# 拉取镜像kibana7.10.1
# kibana版本必须和elasticsearch版本保持一致
docker pull kibana:7.10.1
# 启动容器
# YOUR_ELASTICSEARCH_CONTAINER_NAME_OR_ID 正在运行的ES容器ID或name
# docker run --link YOUR_ELASTICSEARCH_CONTAINER_NAME_OR_ID:elasticsearch -p 5601:5601 {docker-repo}:{version}
docker run --net static --link es7.10:elasticsearch --name kibana7.10 --restart=always -p 5601:5601 -d kibana:7.10.1
# 中文配置要在配置文件 kibana.yml 中加入
# i18n.locale: "zh-CN"
Docker 安装 Rabbitmq3.8
# 官方文档地址
# https://www.rabbitmq.com/download.html
# https://hub.docker.com/_/rabbitmq
# 拉取镜像rabbitmq:3.8-management
docker pull rabbitmq:3.8-management
# 启动容器
docker run \
--privileged=true \
--restart=always \
--net static \
--ip 172.18.0.56 \
--name rabbitmq3.8 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=@password-rabbitmq \
-v /dockerfile/rabbitmq/lib:/var/lib/rabbitmq \
-p 5672:5672 -p 15672:15672 \
-d rabbitmq:3.8-management
Docker 安装 Redis6.0
# 官方文档地址
# https://hub.docker.com/_/redis
# 拉取镜像redis6.0
docker pull redis:6.0
# 启动容器
docker run \
--privileged=true \
--restart=always \
--name redis6.0 \
--net static \
--ip 172.18.0.63 \
-p 6379:6379 \
-v /dockerfile/redis/data:/data \
-d redis:6.0 redis-server --appendonly yes --requirepass "@password-redis"
Docker 安装 Nacos/nacos-server:2.0.2
# 官方文档地址
# https://hub.docker.com/r/nacos/nacos-server
# 拉取镜像nacos-server:2.0.2
docker pull nacos/nacos-server:2.0.2
docker run --privileged=true --restart=always \
--name nacos-quick2.0.2 \
--net static \
--ip 172.18.0.48 \
-p 8848:8848 \
-e JVM_XMS=512m -e JVM_XMX=512m -e MODE=standalone \
-v /etc/localtime:/etc/localtime:ro \
-v /dockerfile/nacos/data:/home/nacos/data \
-v /dockerfile/nacos/logs:/home/nacos/logs \
-v /dockerfile/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-d nacos/nacos-server:2.0.2Docker安装nginx:1.21.5-alpine
docker stop nginx
docker rm nginx
docker run --name nginx \
--restart always \
-p 80:80 \
-p 443:443 \
--net my-bridge \
--ip 172.172.0.80 \
-e TZ="Asia/Shanghai" \
-v /data/dockerfile/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /data/dockerfile/nginx/html:/usr/share/nginx/html \
-v /data/dockerfile/nginx/log:/var/log/nginx \
-v /data/dockerfile/nginx/conf.d:/etc/nginx/conf.d -d nginx:1.21.5-alpineDocker安装ffdfgdfg/nps
docker stop nps
docker rm nps
docker run -d \
--privileged=true \
--restart=always \
-e TZ="Asia/Shanghai" \
# 配置容器和宿主机映射的IP
-p 19000-19010:19000-19010 \
-p 8080:8080 \
-v /data/dockerfile/nps/conf:/conf \
--name=nps ffdfgdfg/npsDocker安装ffdfgdfg/npc
docker stop npc
docker rm npc
docker run -d \
--privileged=true \
--restart=always \
-e TZ="Asia/Shanghai" \
--name npc \
ffdfgdfg/npc -server={nps-ip}:{nps-port} -vkey=3ln41eayw1olcrzp -type=tcpDocker安装jerkins
docker stop jenkins
docker rm jenkins
docker run \
--privileged=true \
--restart=always \
--net my-bridge \
--ip 172.172.0.6 \
--network-alias jenkins \
-e TZ="Asia/Shanghai" \
-uroot \
-d \
-p 10240:8080 \
-p 10241:50000 \
-e JAVA_OPTS='-Xms256m -Xmx1024m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=512m' \
--env JAVA_OPTS="-Djava.util.logging.config.file=/var/jenkins_home/log.properties" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /root/.docker/config.json:/root/.docker/config.json \
-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
-v $(which docker):/usr/bin/docker \
-v /usr/local/software/apache-maven-3.6.3:/usr/local/maven \
-v /usr/local/software/openjdk:/opt/java/openjdk \
-v /data/dockerfile/jenkins:/var/jenkins_home \
-v /data/dockerfile/nginx/html:/usr/local/nginx/html \
-v /etc/localtime:/etc/localtime \
-v /etc/profile:/etc/profile \
--name jenkins jenkins/jenkinsDocker安装jenkinsci/jnlp-slave
docker stop jenkins-slave
docker rm jenkins-slave
docker run \
--privileged=true \
--restart=always \
--net my-bridge \
--ip 172.172.0.18 \
--network-alias jenkins-slave \
-uroot \
-d \
-e TZ="Asia/Shanghai" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /root/.docker/config.json:/root/.docker/config.json \
-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
-v $(which docker):/usr/bin/docker \
-v /usr/local/software/apache-maven-3.6.3:/usr/local/maven \
-v /usr/local/software/openjdk:/opt/java/openjdk \
-v /etc/localtime:/etc/localtime \
-v /etc/profile:/etc/profile \
--name jenkins-slave jenkinsci/jnlp-slave \
-workDir=/data/jenkins_home \
-url https://lovepmm.com \
186dd2723802ad2d282347aeeb4871c9fe0f6eabe39d9d1a8fcc454e8e865c47 slave1