docker+mysql安装

docker+mysql安装

软件名称

docker+mysql

依赖组件

所内已提供的组件

尚未提供的组件(需自己准备离线包安装,并于下文提供安装说明)
  1. container-SELINUX

安装包清单

软件本身需提供版本,配置文件或者安装说明等等无需提供版本。

文件名称版本号使用简述说明
docker/用rpm安装4个包,之后导入不同的软件并安装用来安装docker以及mysql

注:此项务必 填写完全,用以区分不同组件对应的依赖。

安装部署流程(此项下面小节可任意划分,但要求足够详细充分)

系统配置项修改

软件安装
安装docker
# @centos
cd docker
sudo rpm -ivh container-selinux-2.107-1.el7_6.noarch.rpm
sudo rpm -ivh containerd.io-1.2.6-3.3.el7.x86_64.rpm
sudo rpm -ivh docker-ce-cli-19.03.8-3.el7.x86_64.rpm
sudo rpm -ivh docker-ce-19.03.8-3.el7.x86_64.rpm
sudo systemctl enable docker
sudo systemctl start docker
注意:当提示类似policycoreutils-python is needed by container-selinux提示,可以这样解决:
1.主动安装依赖
python install policycoreutils-python
2.强制安装,忽略相关依赖
rpm -ivh ***.rmp --nodeps --force

验证

sudo systemctl status docker
#应返回running状态:
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-06-28 12:43:59 CST; 18s ago
     Docs: https://docs.docker.com
 Main PID: 30655 (dockerd)
    Tasks: 29
   Memory: 51.6M
   CGroup: /system.slice/docker.service
           └─30655 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/con...
sudo docker ps
应当返回一个空的列表
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
导入镜像
#@centos
sudo docker load -i docker/images/mysql8.tar
sudo docker images
sudo docker tag ${image_id} mysql:latest
sudo docker images
#注意看两次结果有什么区别
启动mysql
sudo docker run --name mysql-base --restart=always -e MYSQL_ROOT_PASSWORD=${MYSQL_PASSWD} -d -p 6603:3306 mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --lower_case_table_names=1 --max-connections=2048 --default-authentication-plugin=mysql_native_password

如果没出错就不用管,直接验证即可,如果出现如下错误:

docker: Error response from daemon: driver failed programming external connectivity on endpoint mysql (8c46b64bc427b2c537932d8113c9bfdc800e170488c210449fbadd01dc6c626f):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 6603 -j DNAT --to-destination 172.17.0.2:3306 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1)).

那么执行如下命令:

#@centos
sudo docker ps -a
#找到刚才创建的那个
sudo docker rm ${container_id}
#执行如下命令清除iptables
sudo iptables -t filter -X
sudo iptables -t filter -F
#重启docker实例
sudo systemctl restart docker
验证mysql
#@centos @root均可
sudo docker ps
#应该能显示一个正在运行的container
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                NAMES
c70baef3e08b        mysql:latest        "docker-entrypoint.s…"   25 minutes ago      Up 25 minutes       33060/tcp, 0.0.0.0:13306->3306/tcp   mysql
mysql -uroot -p${MYSQL_PASSWD} -h${host_ip} -P6603
#能连上就行,这条启动命令已经经过测试,可以把字符集,连接数,默认连接认证方式都改了
附录
#可使用如下命令查看所有启动参数,上面命令包含的所有参数里面都有
sudo docker run -it --rm mysql --verbose --help
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值