docker 部署 - 容器部署汇总

目录

一、常用容器运行指令

Docker

Ubuntu 版

Centos 版

MySQL

MongoDB

Redis

RabbitMQ

ElasticSearch

kibana

Nacos

Sentinel

nginx

Minio

Prometheus、Grafana、Node-exporter


一、常用容器运行指令


Docker

Ubuntu 版

1)更新索引

sudo apt update

2)安装必备依赖

sudo apt install apt-transport-https ca-certificates curl software-properties-common

 3)添加密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4)添加稳定软件源

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5)更新索引

sudo apt update

6)安装 docker

sudo apt install docker-ce

7)启动 docker 并设置开机自启动

sudo systemctl start docker
sudo systemctl enable docker

Centos 版

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

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:7.0.16

b)持久化部署

docker run -d --name mongo -p 27017:27017 \
--restart=always \
-v ~/env/mongo/data:/data/db \
-v ~/env/mongo/conf:/data/dataconfigdb \
mongo:7.0.16

Redis

a)未持久化部署:

docker run -itd -p 6379:6379 --name redis redis:7.4.0

b)持久化部署:

如果需要按照 redis.conf 配置运行 redis ,那么需要先下载 redis.conf 模板,地址如下

http://download.redis.io/releases/

找到对应的版本下载 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈亦康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值