目录
Prometheus、Grafana、Node-exporter
一、常用容器运行指令
Docker
a)安装依赖环境
yum -y install yum-utils device-mapper-persistent-datalvm2
b)设置下载 Docker 的镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
c)缓存包信息,提高搜索安装软件速度
yum makecache fast
d)安装 docker
yum install docker-ce docker-ce-cli containerd.io
e)启动 docker 服务
systemctl start docker
f)设置开机自启动
systemctl enable docker
g)配置阿里云镜像
进入 阿里云 -> 容器镜像服务
Ps:2024年6月,相信大家都知道发生了什么事情...
镜像修改成以下即可:
a)vim /etc/docker/daemon.json
{ "registry-mirrors": [ "https://docker.1panel.live" ] }
b)加载配置
sudo systemctl daemon-reload sudo systemctl restart docker
MySQL
这里直接使用 -v 去指定数据卷映射,会将容器内部本来存在的文件覆盖掉,因此这里我们先简单运行一个容器,然后将容器内本来有的 my.conf 文件拷贝出来,再指定 -v 重新启动容器.
a)先简单运行一个容器
docker run --name mysql \
-p 3306:3306 -e MYSQL_ROOT_PASSWORD=1111 \
-d mysql:8.0.33
b) 将容器内的 /etc/my.cnf 的文件拷贝到宿主机的 ~/env/mysql/conf/ 目录下
docker cp mysql:/etc/my.cnf ~/env/mysql/conf/
c)启动容器
情况一:不携带 init.sql
docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
-v ~/env/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v ~/env/mysql/data:/var/lib/mysql \
-v ~/env/mysql/logs:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=1111 \
-e LANG=C.UTF-8 \
-e TZ=Asia/Shanghai \
mysql:8.0.33
情况二:携带 init.sql
docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
-v ~/env/mysql/conf:/etc/mysql \
-v ~/env/mysql/data:/var/lib/mysql \
-v ~/env/mysql/logs:/var/log/mysql \
-v ~/env/mysql/init:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=1111 \
-e LANG=C.UTF-8 \
-e TZ=Asia/Shanghai \
mysql:8.0.33
注意:使用 init.sql 文件只有第一次 docker run 才会生效!!!后续修改 init.sql 文件,再 docker restart 是不会生效的!!
MongoDB
a)未持久化部署
docker run -d --name mongo -p 27017:27017 mongo:5.0.5
b)持久化部署
docker run -d --name mongo -p 27017:27017 \
--restart=always \
-v ~/env/mongo/data:/data/db \
-v ~/env/mongo/conf:/data/dataconfigdb \
mongo:5.0.5
Redis
a)未持久化部署:
docker run -itd -p 6379:6379 --name redis redis:5.0.9
b)持久化部署:
如果需要按照 redis.conf 配置运行 redis ,那么需要先下载 redis.conf 模板,地址如下
http://download.redis.io/releases/