在Linux系统下Docker下拉镜像并装好tomcat和mysql(超详细无Bug教程)

一、Docker简介

Docker是一个开源的应用容器引擎;是一个轻量级容器技术;
Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;
运行中的这个镜像称为容器,容器启动是非常快速的。

二、Docker的核心概念

docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker客户端(Client):连接docker主机进行操作;
docker仓库(Registry):用来保存各种打包好的软件镜像;
docker镜像(Images):软件打包好的镜像;放在docker仓库中
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

三、在linux环境下安装Docker

注意:Docker安装Docker要求linux内核必须高于3.10.可以在命令行里面查询当前linux的内核版本。

uname -r  #如果内核版本低于3.10.需要升级当前内核版本。命令为:yum update,如果是CentOS6版本的建议直接装CentOS7,因为内核升级只能升级到当前Linux的最高版本


1.这里建议使用centOS7.0及以上的版本。这里给大家提供

http://isoredirect.centos.org/centos/7/isos/x86_64/



2.简易小伙伴们进行简易安装,然后就是一路冲到底


3.Docker的安装

yum install docker


4.启动docker

systemctl start docker


注意:如果出现

这个错误,是因为此linux的内核中的SELinux不支持 overlay2 graph driver ,解决方法有两个,要么启动一个新内核,要么就在docker里禁用selinux,–selinux-enabled=false。在这里我们设置selinux-enabled=false

在命令行输入:

vi /etc/sysconfig/docker


然后按esc退出命令行插入模式,按Shift+:,然后WQ+回车键保存即可。

5.查看按照的docker版本号

docker -v


6.设置docker开机自启

systemctl enable docker

7.停止docker

关闭docker   service docker stop   
关闭docker   systemctl stop docker
四、docker的常用操作

1.镜像操作


2.Docker拉取的镜像源更改为国内的镜像源

#编辑daemon.json,添加如下代码,然后按住esc退出编辑模式,然后按住shift+q,然后输入wq保存
vim /etc/docker/daemon.json

{
"registry-mirrors": [
"https://kfwkfulq.mirror.aliyuncs.com",
"https://2lqq34jg.mirror.aliyuncs.com",
"https://pee6w651.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
],
"dns": ["8.8.8.8","8.8.4.4"]
}

#重启docker服务
systemctl restart docker


3.搜索mysql镜像

docker search mysql


4.拉取镜像

docker pull mysql


5.查看下载好的镜像

docker images


6.删除镜像

1)首先需要停止所有的容器
docker stop $(docker ps -a -q)
2)删除所有的容器(只删除单个时把后面的变量改为image id即可)
docker rm $(docker ps -a -q)
3)查看host中的镜像
docker images
4)删除指定id的镜像
docker rmi <image id>



7.安装mysql容器

docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql    #启动容器


外部使用sqlyog或者Navicat客户端工具测试连接


解决方案如下:
1、在虚拟机中登录到mysql容器,然后进入mysql

docker exec -it mysql01 /bin/bash
mysql -uroot -p
Enter password: 
mysql> select host,user,plugin,authentication_string from mysql.user;



备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码

mysql> use mysql;
mysql> alter user 'root'@'%' identified with mysql_native_password by '123';
mysql> flush privileges;
mysql> select host,user,plugin,authentication_string from mysql.user;


出现上述图片,再次用navicat远程连接mysql就成功了


8.安装tomcat容器

docker search tomcat    #搜索镜像

docker pull tomcat   #拉取镜像  


出现以上信息说明镜像拉取成功

docker run -d -p 8888:8080 tomcat  #根据镜像启动容器 
-d:后台运行
-p: 将主机的端口映射到容器的一个端口    主机端口:容器内部的端口
查看运行中的容器  docker ps

为了演示简单,关闭了linux的防火墙
service firewalld status ;查看防火墙状态
service firewalld stop:关闭防火墙
http://192.168.85.129:8888/    #查看能否访问tomcat   当前的ip地址:8888


确定防火墙关闭但访问Tomcat还是失败之后,使用如下命名进入Tomcat的目录

docker exec -it c110e319cdd1(启动的Tomcat容器的容器id) /bin/bash

使用命令查看当前文件夹内的所有文件

ls -l

进入webapps文件夹下

cd webapps

查看webapps下的文件

ls -l

显示total 0,问题就出在这里,webapps文件夹下没有东西

cd ..  #返回上一级目录

将webapps.dist文件夹下的内容复制到给webapps文件夹

cp -r webapps.dist/* ./webapps



访问tomcat服务器成功

查看容器日志  docker logs 容器id
查看tomcat容器的日志:docker logs b169b410a074
一个镜像可以启动多个容器,所以我可以启动多个tomcat容器
docker run -d -p 8889:8080 tomcat
docker run -d -p 9090:8080 tomcat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值