侧边栏壁纸
博主头像
coydone博主等级

记录学习,分享生活的个人站点

  • 累计撰写 306 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Docker镜像安装与发布

coydone
2022-10-30 / 0 评论 / 0 点赞 / 418 阅读 / 2,069 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-05-03,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

安装常用镜像

安装Tomcat

1、docker hub查找 Tomcat 镜像 docker search tomcat

2、从docker hub上拉取Tomcat镜像到本地 docker pull tomcat

3、使用docker images查看是否有拉取到Tomcat,使用Tomcat镜像运行镜像成为容器。

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

安装MySQL

1、docker hub上查找 MySQL 镜像 docker search mysql

2、docker hub上拉取 MySQL 镜像到本地:docker pull mysql:5.7

使用mysql5.7镜像创建容器运行存在问题
[root@localhost ~]docker run -it -p 3306:3306 mysql:5.7
error: database is uninitialized and password option is not specified
	You need to specify one of MYSQL_ROOT_PASSWORD,MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_PASSWORD
这是因为mysql镜像启动需要加载设置用户名和密码

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

远程连接问题

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

解决方法:
1、进入mysql的docker 容器
docker exec -it mysql /bin/bash

2、登陆mysql
mysql -u root -p
输入密码

3、使用mysql数据库
use mysql

4、执行修改密码的命令
update user set password=password(123456) where host='%'
5、重启mysql的docker 容器
exit #退出
#重启mysql
docker restart mysql

主机IP无法访问:

如果出现使用宿主机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用户的密码

本地镜像发布到阿里云

1、登录阿里云搜索容器镜像服务,创建镜像仓库。

2、设置镜像仓库的访问密码。

3、打开镜像仓库,查看基本信息,按照操作指南来做。

#将镜像推送到Registry
$ sudo docker login --username=xxx registry.cn-beijing.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/coydone/mywar:[镜像版本号]
$ sudo docker push registry.cn-beijing.aliyuncs.com/coydone/mywar:[镜像版本号]

#从Registry中拉取镜像
$ sudo docker pull registry.cn-beijing.aliyuncs.com/coydone/mywar:[镜像版本号]
0

评论区