1.简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布服务器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
官网:
https://www.docker.com/
镜像仓库:
https://hub.docker.com/
2.docker 安装
前置条件
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
阿里云镜像
{
"registry-mirrors": ["https://mbusbpq7.mirror.aliyuncs.com"]
}
安装
#!/bin/sh
rm -rf /var/run/yum.pid
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-testing
yum makecache fast
yum install -y docker-ce
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mbusbpq7.mirror.aliyuncs.com"]
}
EOF
systemctl start docker
systemctl enable docker
4.基本命令
docker --help
docker version
docker info
镜像命令:
docker images [options]
OPTIONS说明:
- -a :列出本地所有的镜像(含中间映像层)
- -q :只显示镜像ID。
- --digests :显示镜像的摘要信息
- --no-trunc :显示完整的镜像信息
docker search [options] 镜像名称
OPTIONS说明:
- --no-trunc : 显示完整的镜像描述
- --limit: 显示搜索结果最大条数
8.归档
场景描述
项目运维部署如果没有将镜像放到云端或私有仓库,那么运维人员到达现场进行部署应用可以直接安装离线包。这个离线包就是归档文件。
9.常见软件安装
mysql--------数据没有挂载不安全!!!!!
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7
查询每个表的大小:
SELECT TABLE_NAME, concat( round( DATA_LENGTH / 1024 / 1024, 3),'MB') as 数据容量占用, concat( round( INDEX_LENGTH / 1024 / 1024, 3),'MB') as 索引容量占用, TABLE_ROWS
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = 'mytable'
and TABLE_ROWS > 1
ORDER BY
TABLE_ROWS DESC
tomcat
docker run --name tomcat -p 9090:8080 -d tomcat:8.5.71-jdk8-temurin-focal
redis
docker run -p 6379:6379 --name redis --restart always -v /opt/redis/data:/data -d redis redis-server --appendonly yes --requirepass "Tima@!QAZ"
mongodb
docker run -d --name mongo -p 27017:27017 -v /opt/mongodb-data/data:/data/db --restart=always mongo
docker
docker run -d -p 3000:80 --restart always --name gitlab twang2218/gitlab-ce-zh:11.1.4
下载maven
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.9.7/binaries/apache-maven-3.9.7-bin.tar.gz
10.发布镜像到阿里云
登入阿里云仓库
查看 docker 每个rong
文件拷贝:
#将本地jdk-8u131-linux-x64.tar.gz拷贝到目标服务器的/opt/java 下面
scp jdk-8u131-linux-x64.tar.gz root@128.70.125.170:/opt/java
linux 安装JDK :
mkdir /opt/java
cd 到 /opt/java 目录
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
解压
tar -zxvf jdk-8u131-linux-x64.tar.gz
编辑文件,新增配置
vi /etc/profile
在文件最下面新增
export JAVA_HOME=/opt/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
是文件生效
source /etc/profile
java -version
-bash: vim: command not found
yum -y install vim*
安装XXL-Job 并连接本地mysql: ifconfig 查看ip 172.18.0.19
docker run -di -e PARAMS="--spring.datasource.url=jdbc:mysql://172.18.0.19:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=123456 --xxl.job.accessToken=8926.test" -p 8087:8080 -v /opt/data/xxl-job/jobHandler:/data/xxl-job/jobHandler -v /opt/data/xxl-job:/data/applogs --name xxl-job --privileged=true xuxueli/xxl-job-admin:2.4.0
不输出日志文件
// 不输出日志文件,输出黑洞
nohup java -jar spring-boot-2.7.12-release-1.0.jar > /dev/null 2>&1 &
后台启动 并输出到某个文件:/data/nohup.log
//将日志输出到 /data/nohup.log
nohup java -jar spring-boot-2.7.12-release-1.0.jar > /data/nohup.log 2>&1 &
备注:这条指令的意思就是将 spring-boot-2.7.12-study-1.0.jar 程序用 > 运算符重定向标准输出,由原本的指向 nohup.out 改为 nohup.log 文件,> 是 1> 的简写。
2>是用来重定向标准错误,指令中的&1表示的就是 标准输出 ,2>&1的含义就是重定向标准错误到标准输出表示的数据流中。
linux 打包文件夹
tar -zcvf /opt/maven/mq-dashboard-repository.tar.gz repository/
查看文件夹多大
du -sh /opt/maven/repository/
rocketmq下载:
wget https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip
nohup ./mqnamesrv &
查看进程
jps
查看日志
tail -f ~/logs/rocketmqlogs/namesrv.log
nohup ./mqbroker -c ../conf/broker.conf > /dev/null 2>&1 &
测试:
//修改当前窗口环境变量
export NAMESRV_ADDR='localhost:9876'
//发测试消息
./tools.sh org.apache.rocketmq.example.quickstart.Producer
//消费测试消息
./tools.sh org.apache.rocketmq.example.quickstart.Consumer
//切换到 bin 目录 /opt/rocketmq/rocketmq-all-5.2.0-bin-release/bin
//执行关闭namesrv
sh ./mqshutdown namesrv
//执行关闭 broker
sh ./mqshutdown broker
//启动namesrv 服务
sh ./mqnamesrv &
//启动 broker: 一定要带上 -c 和 配置文件 !!!!!!!!!!!!!!
nohup ./mqbroker -c ../conf/broker.conf &
查看docker 容器占用的内存
docker stats
其他
安装maven
Linux中安装maven_linux 安装maven-CSDN博客
https://www.cnblogs.com/wangcp-2014/p/17122448.html
#Linxu中wget下载
[root@JD software]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
#cp到/usr/local文件夹,解压,maven不用安装,解压后即可。
[root@JD local]# tar -zxvf apache-maven-3.6.3-bin.tar.gz
[root@JD ~]# vim /etc/profile
#添加export
export MVN_HOME=/usr/local/apache-maven-3.6.3
#如下
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JAVA_BIN=/usr/java/jdk1.8.0_131/bin
export NGINX_HOME=/usr/local/nginx
export MVN_HOME=/usr/local/apache-maven-3.6.3
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export PATH=$PATH:$NGINX_HOME/sbin:$JAVA_HOME/bin:$MVN_HOME/bin
更新
[root@JD ~]# source /etc/profile
- 执行mvn -v 查看安装maven版本
添加阿里云镜像:
<mirror>
<id>aliyun-maven</id>
<mirrorOf>*</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
export JAVA_HOME=/opt/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export ROCKETMQ_HOME=/opt/rocketmq/rocketmq-all-5.2.0-bin-release
export MAVEN_HOME=/opt/maven/apache-maven-3.9.7
export PATH=$MAVEN_HOME/bin:$ROCKETMQ_HOME/bin:$JAVA_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin
export NAMESRV_ADDR='192.168.0.108:9876'
下载地址:下载 | RocketMQ
//rocketmq dashboard下载官网地址
https://rocketmq.apache.org/download/
可视化界面介绍