docker的安装和使用
首先要保证使用的是liunx环境,系统我使用的是centos 7
centos 7安装docker
1.可以进入docker的官网查看文档,里面有完整的安装教程
docker官网地址
2.依次执行命令
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
启动docker
sudo systemctl start docker
3.设置docker开机自启
sudo systemctl enable docker
docker 就已经安装完成了,可以使用docker-v命令测试docker是否正常
使用阿里云镜像
1.进入阿里云官网,登录并找到容器镜像服务
2.找到容器镜像服务
3.执行下列代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://x0na70ru.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
这样docker就已经配置好阿里云镜像了
安装mysql并使用
docker安装完成之后,我们先安装一个mysql的镜像
可以去docker的镜像仓库找到mysql的镜像名称
docker镜像仓库
现在访问只能通过挂vpn的方式
也可以使用国内的镜像仓库,这里不多做解释。感兴趣的可以网上查阅
1.拉取docker mysql的镜像
docker pull mysql:5.7
2.运行mysql镜像
docker run -p 3306:3306 --name mysql \
-v /myfile/mydata/mysql/log:/var/log/mysql \
-v /myfile/mydata/mysql/data:/var/lib/mysql \
-v /myfile/mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数解析
-p 3306:3306
指的是讲docker镜像的3306端口映射到liunx机器的3306端口
-v /myfile/mydata/mysql/log:/var/log/mysql
指的是将内部容器的/var/log/mysql的目录映射到liunx的/myfile/mydata/mysql/log目录没有就创建
-e MYSQL_ROOT_PASSWORD=root
初始化mysql的密码
mysql还要配置远程连接
docker exec -it mysql bash
root@yl-web yl]# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.26 MySQL Community Server (GPL)
Copyright © 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
±-------------------+
4 rows in set (0.01 sec)
mysql>
设置密码
mysql> set password for ‘root’@‘localhost’ =password(‘password’);
Query OK, 0 rows affected (0.00 sec)
mysql>
远程连接设置
把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。
mysql> grant all privileges on . to root@’%'identified by ‘password’;
如果是新用户而不是root,则要先新建用户
mysql>create user ‘username’@’%’ identified by ‘password’;
可以参考 https://www.cnblogs.com/starof/p/4680083.html
注意:mysql的服务器端口防火墙一定要开启,tomcat的端口也要开启。否则无法访问
设置mysql的配置文件
cd /myfile/mydata/mysql/conf
vi my.cnf
输入i插入模式,复制以下内容
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
保存退出,重启docker mysql
docker restart mysql