这里收集一些常用环境的安装步骤,可无脑复制命令逐行执行(注意网桥),节省安装时间,随时用到随时补充
命令涉及到:
绑定相关命令,默认左侧为物理机,右侧为容器
MySQL
MySQL 5.7.38
# 下载镜像
$ docker pull mysql:5.7.38
# 初始化目录
$ mkdir -p /opt/docker/mysql
$ cd /opt/docker/mysql
# 裸启动
$ docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.38
# 拷贝文件
$ docker cp mysql:/etc/mysql /opt/docker/mysql/
$ mv mysql conf
$ docker cp mysql:/var/lib/mysql /opt/docker/mysql/
$ mv mysql data
# 删除后重启容器
$ docker rm -f mysql
$ docker run --name mysql \
-p 3306:3306 \
--restart always \
--network channel \
-v /opt/docker/mysql/data:/var/lib/mysql \
-v /opt/docker/mysql/logs:/var/log/mysql \
-v /opt/docker/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.38
Redis
Redis镜像中并没有提供配置文件,要想自定义配置需要手动下载配置文件,然后上传到服务器
Redis 5.0.10
# 在执行命令前请先将配置文件上传至服务器
# 注意修改配置文件中的bind与requirepass
# 设置bind为0.0.0.0为允许外网访问,requirepass为访问密码
# 下载镜像
$ docker pull redis:5.0.10
# 初始化目录,移动配置文件
$ mkdir -p /opt/docker/redis/conf
$ mv redis.conf /opt/docker/redis/conf/redis.conf
$ cd /opt/docker/redis
# 启动容器
$ docker run --name redis \
-p 6379:6379 \
--restart always \
--network channel \
-v /opt/docker/redis/data:/data \
-v /opt/docker/redis/conf:/opt/conf \
-d redis:5.0.10 redis-server /opt/conf/redis.conf
nginx
nginx 1.22.0
# 下载镜像
$ docker pull nginx:1.22.0
# 初始化目录
$ mkdir -p /opt/docker/nginx
$ cd /opt/docker/nginx
# 裸启动
$ docker run -d --name nginx nginx:1.22.0
# 拷贝文件
$ docker cp nginx:/etc/nginx /opt/docker/nginx
$ mv nginx conf
$ docker cp nginx:/usr/share/nginx /opt/docker/nginx
$ mv nginx webs
# 删除后重启容器
$ docker run --name nginx \
-p 80:80 \
--restart always \
--network channel \
-v /opt/docker/nginx/conf/:/etc/nginx \
-v /opt/docker/nginx/webs/:/usr/share/nginx \
-v /opt/docker/nginx/logs/:/var/log/nginx \
-d nginx:1.22.0
Minio
版本较高的Minio将管理地址和API请求地址拆分开了,需要在运行容器的时候指定端口号才可以使用-p绑定
console-address为管理地址,address为API请求地址address,如不指定容器会随机分配不便处理
minio RELEASE.2022-11-17T23-20-09Z
# 下载镜像
$ docker pull minio/minio:latest
# 启动容器
$ docker run --name minio \
-p 9000:9000 \
-p 9001:9001 \
--restart always \
--network channel \
-e MINIO_ACCESS_KEY=admin \
-e MINIO_SECRET_KEY=12345678 \
-v /opt/docker/minio/data:/data \
-v /opt/docker/minio/conf:/root/.minio \
-d minio/minio server /data --console-address ":9000" --address ":9001"
PHP
PHP7
# 下载镜像
docker pull php:7.4.30-fpm
# 裸启容器
docker run -d --name php7 php:7.4.30-fpm
# 拷贝配置文件
docker cp php7:/usr/local/etc/php /opt/docker/php/conf
# 删除裸启的容器
docker rm -f php7
# 正式启动容器
docker run -d --name php7 \
--network channel \
-v /opt/docker/nginx/webs:/var/www/html \
-v /opt/docker/php/conf:/usr/local/etc/php \
php:7.4.30-fpm
标签:opt,--,nginx,conf,mysql,Docker,安装,docker,常用软件
From: https://www.cnblogs.com/hanzhe/p/16921041.html