Docker安装MySQL

docker 中下载 mysql

docker pull mysql

docker pull mysql:5.7

启动

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

docker run --name mysql-5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
-- 安装5.7时,第一次登录好像不需要密码

  • -name 代表容器名称

  • -p 代表端口映射,格式为 宿主机映射端口:容器运行端口

  • -e 代表添加环境变量 MYSQL_ROOT_PASSWORD是root用户的登陆密码

进入容器

docker exec -it mysql bash

docker exec -it mysql-5.7 bash

登录mysql

mysql -u root -p //回车输入密码

  • 登录的时候报错 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

没找到解决办法,过一会儿重新输入又不报错了。。。可能是因为第一次不需要输入密码。

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

添加远程登录用户,直接用root账号登录也行。

CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';


停止镜像

docker stop 镜像实例ID

查看所有容器(包括未启动的)

`docker ps -a

删除镜像实例

docker rm 镜像实例ID

当镜像实例已经存在时,重新启动镜像

docker start 镜像实例ID

Docker容器做端口映射报错

docker: Error response from daemon: driver failed programming external connectivity on endpoint lamp3 (46b7917c940f7358948e55ec2df69a4dec2c6c7071b002bd374e8dbf0d40022c): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 86 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.

解决方法
docker服务启动时定义的自定义链DOCKER被清除
重启即可systemctl restart docker

posted @ 2020-05-14 13:28  bm小明  阅读(130)  评论(0编辑  收藏  举报