Docker安装nginx + mysql + redis + node.js

本文详细介绍了如何在CentOS7系统中使用yum安装Docker,包括添加阿里云软件源,安装指定版本Docker,设置开机自启,以及配置Docker日志和镜像加速。同时,还演示了如何部署Nginx、MySQL和Redis,并提供了容器开机自启的方法。
摘要由CSDN通过智能技术生成

CentOS 7 安装docker (使用yum进行安装)

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
# Step 5: 设置开机自启
# sudo chkconfig docker on
# 关闭开机自启 systemctl disable docker.service
systemctl enable docker

注意:其他注意事项在下面的注释中
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
# 注意:在某些版本之后,docker-ce安装出现了其他依赖包,如果安装失败的话请关注错误信息。例如 docker-ce 17.03 之后,需要先安装 docker-ce-selinux。
# yum list docker-ce-selinux- --showduplicates | sort -r
# sudo yum -y install docker-ce-selinux-[VERSION]

# 通过经典网络、VPC网络内网安装时,用以下命令替换Step 2中的命令
# 经典网络:
# sudo yum-config-manager --add-repo http://mirrors.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
# VPC网络:
# sudo yum-config-manager --add-repo http://mirrors.could.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo

docker设置国内镜像

vi /etc/docker/daemon.json

# 内容如下:
{
  "registry-mirrors": [
    "https://xx4bwyg2.mirror.aliyuncs.com",
    "http://f1361db2.m.daocloud.io",
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}{}
# 一般情况下,修改/etc/apt/sources.list文件,将Debian的默认源地址改成新的地址即可,比如将http://deb.debian.org改成https://mirrors.163.com,可使用以下命令:
sed -i "s@http://deb.debian.org@https://mirrors.163.com@g" /etc/apt/sources.list
# 退出并保存
:wq

# 使配置生效
systemctl daemon-reload

# 重启Docker

docker 日志

# 例如打印容器mytest应用后10行的内容。
docker logs --tail="10" mytest

# 查看最近30分钟的日志:
docker logs --since 30m CONTAINER_ID # (容器名或id)

# 查看指定时间后的日志,只显示最后100行:
docker logs -f -t --since="2020-11-10" --tail=100 CONTAINER_ID

# 查看某时间之后的日志:
docker logs -t --since="2020-11-10T00:00:37" CONTAINER_ID

# 查看某时间段日志:
docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

安装nginx

镜像

docker pull nginx:1.19

运行容器

# -p 8081:80: 将容器的 80 端口映射到主机的 8082 端口.
# --name nginx-test-web:将容器命名为 nginx-test-web 
# -v /home/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。
# -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。
# -v /home/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。
docker run -d -p 8081:80 -p 443:443 --name nginx-test-web \
  -v /home/nginx/www:/usr/share/nginx/html \
  -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
  -v /home/nginx/logs:/var/log/nginx \
  nginx:1.19

复制nginx 配置

# 运行一个测试 nginx 将容器里的配置复制到本机目录
# --rm:容器终止运行后,自动删除容器文件。
docker run --rm -d -p 8081:80 -p 443:443 --name nginx-test-web

# 容器文件路径/etc/nginx 复制到本机 /home/nginx/conf/
# 注意 容器文件复制到本机时,/home/nginx/conf/ 会多一个nginx 目录,,运行容器挂在目录时要对应 -v /home/nginx/conf/nginx:/etc/nginx
docker cp nginx-test:/etc/nginx /home/nginx/conf/

安装 mysql

镜像

docker pull mysql:5.7

运行容器

docker run -d -p 3306:3306 --name mysql-web \
  -v /home/mysql/conf:/etc/mysql \
  -v /home/mysql/logs:/var/log/mysql \
  -v /home/mysql/data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=xxxxxx \
 mysql:5.7

安装 redis

镜像

docker pull redis:5.0

运行容器

# 修改启动默认配置(从上至下依次):
bind 127.0.0.1 # 注释掉这部分,这是限制redis只能本地访问
protected-mode no # 默认yes,开启保护模式,限制为本地访问
daemonize no # 默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败(docker启动时redis 必须为 no)
databases 16 # 数据库个数(可选),我修改了这个只是查看是否生效。。
dir ./ # 输入本地redis数据库存放文件夹(可选)
appendonly yes # redis持久化(可选)
requirepass xxxxx # 配置redis访问密码

# 运行配置文件redis, redis.conf 可以下载对应版本的安装包,复制redis.conf文件
docker run -p 6379:6379 --name redis-web \
    -v /home/redis/conf/redis.conf:/etc/redis/redis.conf \
    -v /home/redis/data:/data \
    -d redis:5.0 \
    redis-server /etc/redis/redis.conf --appendonly yes

newbe 国内Redis 国内加速下载
华为 Redis 国内加速下载

容器开机自启

# 使用命令格式
docker update --restart=always 容器名称或者容器id

部署node项目

FROM node:14.5.0-alpine

MAINTAINER de

RUN mkdir -p /home/imgmini

ADD ./img_mini_pro /home/imgmini

WORKDIR /home/imgmini

EXPOSE 8890

CMD ["node", "/home/imgmini/index.js"]

其他

yum

我们在更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成缓存

yum makecache fast
这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度

yum clean all
yum 会把下载的软件包和header存储在cache中而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令清除缓存。

参考网站

docker ce 安装
reids.conf
docker安装nginx并挂载目录

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值