docker相关问题
一.安装Docker
1.查看内核版本
<Docker 要求 CentOS 系统的内核版本高于 3.10>
uname -r 本机<内核版本: 3.10.0-327.el7.x86_64>
2.把yum包更新到最新
sudo yum update
3.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4.设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5.查看仓库中docker版本
yum list docker-ce --showduplicates | sort -r
6.安装docker
sudo yum install docker-ce
7.启动Docker,设置开机启动,停止Docker
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl stop docker
8.查看版本
docker version
9.使用一下确认是否启动成功,使用search 查一下
docker search mysql
10.查看日志状态成功日志
systemctl status docker.service
11.卸载Docker,对于旧版本没安装成功,卸掉。
1.查询安装过的包
yum list installed | grep docker
本机安装过旧版本
docker.x86_64,docker-client.x86_64,docker-common.x86_64
2.删除安装的软件包
yum -y remove docker.x86_64
yum -y remove docker-client.x86_64
yum -y remove docker-common.x86_64
二安装mysql
1.安装mysql
docker pull mysql:5.7
2.挂载外部配置和数据安装
1.创建目录
mkdir /dockercnf
mkdir /dockercnf/mysql
mkdir /dockercnf/mysql/conf.d
mkdir /dockercnf/mysql/data/
touch /dockercnf/mysql/my.cnf
2.修改my.cnf
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=1000
max_allowed_packet=32M
innodb_file_per_table=1
lower_case_table_names=1
;设置3306端口
port = 3306
; 设置mysql的安装目录
; 设置mysql数据库的数据的存放目录
; 允许最大连接数
max_connections=200
; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 忘记密码时放开,然后重新设置密码
# UPDATE mysql.user SET authentication_string=PASSWORD('1') WHERE USER='root' AND HOST = 'localhost';
#skip_grant_tables
4.启动容器
docker run --restart=always --privileged=true -d -v /dockercnf/mysql/data/:/var/lib/mysql -v /dockercnf/mysql/conf.d:/etc/mysql/conf.d -v /dockercnf/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name my-mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
参数说明:
–restart=always: 当Docker 重启时,容器会自动启动。
–privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v /opt/mysql/conf.d/my.cnf:/etc/my.cnf:映射配置文件
-v /opt/mysql/data/:/var/lib/mysql:映射数据目录
5.查看启动日志
docker logs my-mysql
6.重启容器
docker restart my-mysql
3.主机容器间文件复制
docker cp my-mysql:/etc/mysql/my.cnf /dockercnf/
docker cp /dockercnf/my.cnf my-mysql:/etc/mysql/
其他
暂无