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 --version 或 docker -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(看个人需求)
设置容器开机自启动
sudo docker update mysql --restart=always
sudo docker update redis --restart=always