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

最新文章

  1. H3 BPM引擎API接口
  2. 探索C#之系列目录导航
  3. 消息队列之ZeroMQ(C++)
  4. TOMCAT开放远程调试端口
  5. CentOS 6.5安装 ASM lib
  6. springmvc的单文件上传
  7. 实验:sigsuspend(),sigprocmask()
  8. 使用commons-fileUpload组件上传文件
  9. 全景技术大揭秘,市场核心早洞悉——VR全景加盟
  10. 使用jmeter来发送json/gzip格式数据 --------笔记
  11. js实现移动端图片预览:手势缩放, 手势拖动,双击放大...
  12. 孕龙逻辑分析仪 ZeroPlus Logic Analyzer
  13. 利用npm 安装删除模块
  14. Python 私有方法和引用计数初讲
  15. Openstack虚机实例状态错误手工恢复vm_state:error
  16. Halcon的一维条码解码步骤和解码技巧
  17. php函数strtotime结合date时间修饰语的使用
  18. C# Soap调WebService
  19. HTTP的DELETE方法Body传递参数问题解决
  20. Lecture 3

热门文章

  1. WebRTC:会话描述协议SDP
  2. 多线程编程(Linux C)
  3. 七分钟理解什么是 KMP 算法
  4. openGL基本概念
  5. 免安装版tomcat安装成服务
  6. Linq查找最大值max最小值min效率比较
  7. Java课堂 动手动脑5
  8. (通俗易懂小白入门)网络流最大流——EK算法
  9. (一)Mybatis基本配置,Statement方式,动态代理增删改查
  10. xcode自动刷新resource下的文件