谷粒商城环境搭建一:Docker容器部署

Docker容器部署

VMware虚拟机安装

参考:VMware虚拟机安装Linux教程

Docker安装

Linux安装Docker

# 1.更新apt包索引
sudo apt-get update

# 2.安装以下包以使apt可以通过HTTPS使用存储库(repository)
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

# 3.添加Docker官方的GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 国内阿里云版 
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -

# 4.验证key的指纹
sudo apt-key fingerprint 0EBFCD88

# 5.添加稳定版repository
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
# 国内阿里云版 - 镜像加速器 - 在阿里云官网搜镜像就能搜到
sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
   
# 6.安装最新版本的Docker CE
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 查看可获取的版本
apt-cache madison docker-ce
# 安装指定版本
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

# 7.验证
docker --versiondocker -v

配置阿里云镜像加速器

# 配置阿里云镜像加速器
# 阿里云会为每个人分配一个加速器地址
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://4giu3izt.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker部署MySQL

拉取MySQL镜像

# 搜索镜像
docker search redis
# 拉去镜像
docker pull mysql:5.7

建立MySQL镜像

sudo docker run --name mysql \
-v ~/mall/mysql/log:/var/log/mysql \
-v ~/mall/mysql/data:/var/lib/mysql \
-v ~/mall/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root  \
-p 3306:3306 \
-d mysql:5.7


参数说明:
-p 3306:3306:将容器的3306 端口映射到主机的3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化root 用户的密码
-d :以后台方式运行

设置MySQL配置文件

  • 创建MySQL配置文件
    vi ~/mall/mysql/conf/my.cnf
    
  • 复制内容到MySQL配置文件
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysqld]
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    skip-name-resolve
    
  • 重启MySQL容器
    docker restart containerID
    

开启bin_log

  • 执行命令

    docker exec {yourcontianername} bash -c "echo 'log-bin=/var/lib/mysql/mysql-bin' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
    docker exec {yourcontianername}bash -c "echo 'server-id=123454' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
    
  • 重启mysql服务

    docker restart myMysql
    
  • 查看结果

    show variables like '%log_bin%'
    

Docker部署Redis

创建Redis容器

  • 拉取镜像

    docker pull redis
    
  • 创建实例并启动

    # 预先创建redis.conf配置文件
    mkdir -p ~/mall/redis/conf
    touch ~/mall/redis/conf/redis.conf
    
    # 创建Redis容器
    docker run -p 6379:6379 --name redis \
    -v ~/mall/redis/data:/data \
    -v ~/mall/redis/conf/redis.conf:/etc/redis/redis.conf \
    -d redis redis-server /etc/redis/redis.conf 
    说明:
    1.挂载文件需要先创建该文件,否则会当成目录进行挂载,
      虽然这个文件什么都没有,但是可以当配置文件来用的
    2.-d redis redis-server /etc/redis/redis.conf 
        ==> redis以/etc/redis/redis.conf进行启动
    
  • 测试:sudo docker exec -it redis redis-cli
    在这里插入图片描述

修改配置文件 - 具体配置参照官网

  • 官网配置文件:https://redis.io/docs/management/config/

  • 配置持久化操作,在redis.conf中添加如下内容,然后重启容器。

    appendonly yes
    

安装redis可视化软件 - redis desktop manager(看个人需求)

你可能感兴趣的:(谷粒商城学习记录,docker,容器,运维)