https://www.jianshu.com/p/552179808ebf
http://mirror.bit.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
https://blog.csdn.net/babyxue/article/details/80970526
①.查看是否有SSH安装
注:若为非root用户登录,输入执行某些命权限不够时需加sudo
rpm -qa | grep ssh
②.若没有则安装
yum install openssh-server
③.开放22端口
在ssh配置文件里进行配置 :
vim /etc/ssh/sshd_config
用esc+:wq 保存退出
③.开启ssh服务
/bin/systemctl start sshd.service
④.检查ssh服务是否开启
ps -e | grep sshd
⑤.检查22端口是否开启
netstat -anpt | grep 22
注意:若提示没有netstat 命令则 使用:yum install net-tools 进行安装
参考文章:https://blog.csdn.net/ASN_forever/article/details/80931799
systemctl enable sshd.service
或chkconfig sshd on
查看防火墙状态
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
参考:https://blog.csdn.net/ytangdigl/article/details/79796961
进入到/etc/selinux/config文件
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
参考:
https://blog.csdn.net/u011781521/article/details/53846536
https://blog.csdn.net/qq_38880651/article/details/82460600
https://blog.csdn.net/heshengfu1211/article/details/87828523
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
uname -r
sudo yum update
sudo yum remove docker docker-common docker-selinux docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版19.03.1
或指定安装版本:sudo yum install # 例如:sudo yum install docker-ce-17.12.0.ce
sudo systemctl start docker #启动
sudo systemctl enable docker #开机启动
docker version
参考:https://blog.csdn.net/lu1171901273/article/details/94217503
docker search mysql
docker pull mysql:5.7.27
docker run -d mysql:5.7.27 -p 3306:3306 -e MYSQL_USER="root" -e MYSQL_PASSWORD="root"
-e MYSQL_ROOT_PASSWORD="root" --name mysql3306
mysql:5.7.22 --character-set-server=utf8 --collation-server=utf8_bin
参数说明:
-d 表示容器在后台运行
-p 53306:3306:将容器的3306端口映射到主机的3306端口;
-e MYSQL_PASSWORD="root":设置添加的用户密码
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码;
-e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码;
--name 给容器命名,mysql3306;
--character-set-server=utf8:设置字符集为utf8
--collation-server=utf8_bin:设置字符比较规则为utf8_bin
注意事项:-d 后面是mysql镜像,一定要指定镜像版本号,也就是拉取的镜像版本
grant all privileges on *.* to root@"%" identified by "root" with grant option;
docker exec -it mysql bash
mysql -u root -p
挂载外部配置和数据安装
创建目录和配置文件my.cnf
创建外部挂载目录
mkdir /docker
mkdir /docker/mysql
mkdir /docker/mysql/conf
mkdir /docker/mysql/data
创建my.cnf配置文件
touch /docker/mysql/conf/my.cnf
my.cnf添加如下内容:
[mysql]
default-character-set=utf8
[mysqld]
port = 3306
basedir=/docker/mysql
datadir=/docker/mysql/data
max_connections=10000
innodb_buffer_pool_size=64M
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
max_allowed_packet = 1024M
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
①.由于刚刚安装的mysql并运行登录,我们只是用来验证成功,还没挂载。
但我这里使用的是同一个容器,已经存在了。所以要先将存在的容器停止并删除。
查看所有容器,包括停止的:
docker ps -a
将容器退出:
docker stop [NAME]/[CONTAINER ID] 例如:docker stop se34fds50fsf
不能够删除一个正在运行的容器,会报错。需要先停止容器:
docker rm [NAME]/[CONTAINER ID] 例如:docker rm se34fds50fsf
②.创建容器,并后台启动(这个是使用挂载外部文件的容器)
docker run -d -p 3306:3306 --privileged=true
-v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf
-v /docker/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=root
--name mysql3306 mysql:5.7.27
参数说明:
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v /docker/mysql/conf/my.cnf:/etc/my.cnf:映射配置文件
-v /docker/mysql/data:/var/lib/mysql:映射数据目录
https://blog.csdn.net/woniu211111/article/details/80968154
https://blog.csdn.net/lu1171901273/article/details/94217503