docker1-概述与centos7安装使用docker-tomcat-mysql

Why use

  • 软件开发、测试、部署时,环境配置的繁杂与成本。
  • 传统虚拟机技术不够灵活以及巨大的资源消耗。

windows安装centos虚拟机

下载安装

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
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

$ 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';

原文地址:https://www.cnblogs.com/noodlerkun/p/11452499.html