18-Docker常用安装

安装步骤梳理

  1. 搜索镜像 docker search mysql
  2. 拉取镜像 docker pull
  3. 查看镜像 docker images
  4. 启动镜像 docker run
  5. 停止容器 docker stop 容器ID
  6. 移除容器 docker rm -f 容器ID

安装tomcat

docker hub 上查找tomcat镜像

docker search tomcat

从docker hub上拉取tomcat镜像到本地

docker pull tomcat

使用docker images查看是否有拉取到tomcat

使用tomcat镜像运行镜像成为容器

 docker run -it -p 8080:8080 tomcat 
                -p 主机端口:容器端口
                -P 随机分配端口
                -i 交互
                -t 终端 

安装mysql

docker hub上查找mysql镜像

docker search mysql

docker hub上拉取mysql镜像到本地

docker pull mysql:5.7

使用mysql5.7镜像创建容器运行存在问题

这是因为mysql镜像一启动中在加设置用户名和密码

修改成下面的命令

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

发现启动起来了

使用navcat连接一下

如果是5.7的数据库不会报错

发现报错,这是因为docker 的mysql里面的localhost -root 的密码是启动时设置的是123456现%-root的没有设置

下面是解决方法

  1. 进入mysql的docker 容器
docker exec -it mysql /bin/bash
  1. 登陆mysql
mysql -u root -p

输入密码

  1. 使用mysql数据库
use mysql
  1. 执行修改密码的命令
update user set password=password(123456) where host='%'
  1. 重启mysql的docker 容器
quit
docker restart mysql

再就可以进行远程连接了哦

如果出现使用宿主机IP无法访问的情况 在宿主机里面执行如下命令

按顺序运行以下命令:

nmcli connection modify docker0 connection.zone trusted
systemctl stop NetworkManager.service
firewall-cmd --permanent --zone=trusted --change-interface=docker0
systemctl start NetworkManager.service
nmcli connection modify docker0 connection.zone trusted
systemctl restart docker.service

再重启mysql和tomcat的容器

相关文件地址配置

可以在运行容器时设置

docker run -p 3306:3306 --name mysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql

但要求对应 路径对应文件已存在 ,才能成功挂载相内容到对应位置。

命令说明

-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v $PWD/conf/my.cnf:/etc/mysql/my.cnf:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf
-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs
-v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
posted @ 2020-02-16 11:54  Leader_TBlog  阅读(152)  评论(0)    收藏  举报