docker1-概述与centos7安装使用docker-tomcat-mysql
Why use
- 软件开发、测试、部署时,环境配置的繁杂与成本。
- 传统虚拟机技术不够灵活以及巨大的资源消耗。
windows安装centos虚拟机
下载安装
- virtualBox下载
https://mirrors.tuna.tsinghua.edu.cn/help/virtualbox/ - centos7镜像下载
http://mirrors.aliyun.com/centos/7/isos/x86_64/ - smarTTY或者Xshell
smarTTY链接:https://pan.baidu.com/s/1wezAIXJ7K9jm9jQcoHwE1Q 提取码:n8z8
centos7镜像启动
可参考:https://zhuanlan.zhihu.com/p/60408219
- 新建虚拟机
打开virtualbox, 点击“新建”,选择linux、other Linux64,按照默认配置下一步就好。 - 启动虚拟机
- 选择下载的镜像,install
- 配置语言、时区、安装模式、网络和主机等,begin install,等待..设置root密码..reboot
- 虚拟机网络设置
- 连接方式选择桥接模式。
- 界面名称根据宿主机网络选择,如果宿主机是网线则选择带PCIE的,无线则选择带wireless的。
- 展开高级,勾上接入网线,保存配置。
- 使用
service network restart
重启网络服务或者重启系统,使用ip addr
查看IP地址是否与宿主机一个网段。
- 使用SmarTTY/Xshell连接(ssh)虚拟机的centos
- 环境准备到此 OK
安装docker
官方文档地址:https://docs.docker.com/install/linux/docker-ce/centos/
直接选择yum安装:
Most users set up Docker’s repositories and install from them, for ease of installation and upgrade tasks. This is the recommended approach.
- SET UP THE REPOSITORY
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
- INSTALL DOCKER ENGINE - COMMUNITY
$ sudo yum install docker-ce docker-ce-cli containerd.io
- Start Docker
$ sudo systemctl start docker
- 配置阿里云docker镜像加速
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://3a2181yn.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
- Run hello-world image
$ sudo docker run hello-world
- 开机启动docker
$ systemctl enable docker
- Stop Docker
$ systemctl stop docker
docker-tomcat
- docker-hub查看官方tomcat镜像 (命令查看
docker search tomcat
)
https://hub.docker.com/_/tomcat?tab=description - 拉取镜像
docker pull tomcat
- 查看镜像
docker images
- 后台运行一个tomcat容器
docker run --name mytomcat -d -p 8888:8080 tomcat
验证端口映射:docker宿主机ip:8888访问tomcat - 查看运行的容器
docker ps
(-a 查看所有容器) - 停止容器
docker stop containerId/containerName
停止所有容器docker stop $(docker ps -a -q)
- 容器再启动
docker start containerId/containerName
(先docker ps -a查看) - 删除容器
docker rm containerId
(需是Existed状态的容器) - 跑两个tomcat
docker run --name mytomcat0 -d -p 8080:8080 tomcat
docker run --name mytomcat1 -d -p 8081:8080 tomcat
- 查看容器日志
docker logs containerId/containerName
docker-mysql
- 官方参考 https://hub.docker.com/_/mysql
- 查看镜像
docker search mysql
- 直接运行(pull+run)
$ docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=mysql123 -d mysql
- 容器运行查看
docker ps|grep mysql
- 容器日志查看
docker logs $(docker ps|grep mysql01|awk '{print $1}')
- 进入容器内bash命令窗
docker exec -it mysql01 bash
- Navicat连接mysql容器
碰到的问题
安装docker时出现Delta RPMs disabled..
Delta RPMs disabled because /usr/bin/applydeltarpm not installed
//解决
yum provides '*/applydeltarpm'
yum install -y deltarpm
yum update
//继续安装 sudo yum install docker-ce docker-ce-cli containerd.io
mysql容器启动后,navcat连接出错Client does not support authentication protocol..
进入容器bash,登录mysql执行用户处理SQL
docker exec -it mysql01 bash
mysql -u root -p
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'mysql123';
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysql123';
mysql> SELECT plugin FROM mysql.user WHERE User = 'root';