1. Docker基础命令 | 说明 | 命令 | | —- | —- | | 检查服务器的内核版本,必须是3.10及以上 | uname -r | | 安装docker | yum install docker | | 启动docker | systemctl start docker | | 查看docker的版本 | docker -vDocker version 1.13.1, build 94f4240/1.13.1 | | 设置开机启动docker | systemctl enable docker | | 停止docker | systemctl stop docker | | 查看所有本地镜像 | docker images [-a] | | 搜索镜像 | docker search tomcat | | 拉取镜像 | docker pull tomcat | | 根据镜像创建并启动容器(没有端口映射) | docker run —name mytomcat1 -d tomcat:latest | | 查看运行中的容器 | docker ps | | 查看所有的容器 | docker ps -a | | 停止运行中的容器 | docker stop 容器id或容器名 | | 启动容器 | docker start 容器id或容器名 | | 删除容器 | docker rm 容器id或容器名 | | 根据镜像创建并启动做了端口映射的容器 | docker run —name mytomcat2 -d -p 8888:8080 tomcat
      #说明:-d后台运行
      -p将主机的端口映射到容器的一个端口。 主机端口:容器内部的端口 | | 进入容器内部 | docker exec -it 容器id或容器名 /bin/bash
      #说明:-it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。
      /bin/bash:容器启动以后,内部第一个执行的命令。这里是启动 Bash,保证用户可以使用 Shell。 | | 查看容器的日志 | docker logs 容器名或者容器id | | 从主机复制到容器 | sudo docker cp host_path containerID:container_path | | 从容器复制到主机 | sudo docker cp containerID:container_path host_path | | 挂载主机文件到容器中 | docker run -v /path/to/hostdir:/mnt 容器Id或者容器名
      #说明:/path/to/hostdir:/mnt
      :前面部分是主机要挂载文件路径,:后面部分是挂载到容器中的路径 | |
      1. 拉取mysql镜像;
      1. 创建并启动守护式容器;
      1. 在容器中操作mysql;
      1. 使用图形界面工具(windows)操作在docker中安装的mysql;在创建mysql容器的时候使用-p指定端口映射实现连接
      | docker run -id —name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql | |
      1. 拉取tomcat镜像;docker pull tomcat
      1. 创建并启动tomcat容器;
      1. 访问容器中tomcat
      | docker run -id —name=mytomcat -p 8080:8080 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps tomcat | |
      1. 拉取nginx镜像;
      1. 创建并启动nginx容器;
      1. 在浏览器上访问容器中nginx.
      | docker run -id —name=nginx -p 80:80 -v /usr/local/nginx:/usr/local/nginx nginx | |
      1. 拉取redis镜像;
      1. 创建并启动redis容器;默认端口是6379,如果需要外部访问则可以使用端口映射;
      1. 连接redis: ①使用命令行客户端 ②使用图形界面工具
      | docker run -id —name=redis -p 6379:6379 redis | |
      1. 拉去RebbitMQ镜像
      1. 创建并启动RebbitMQ容器;默认端口5672
      1. 访问跟RebbitMQ,端口为15672
      | docker run -di —name=myrabbitmq -p 5672:5672 rabbitmq:management |

    2. Docker安装mysql

      1. 拉取官方mysql5.7镜像image.png
      2. 查看镜像库image.png
      3. 创建mysql容器
      4. 在本地创建mysql的映射目录:mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf
      5. 在/root/mysql/conf中创建 *.cnf 文件(叫什么都行):touch my.cnf
      6. 创建容器,将数据,日志,配置文件映射到本机:docker run -p 3306:3306 —name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
      7. -d: 后台运行容器 -p 将容器的端口映射到本机的端口 -v 将主机目录挂载到容器的目录 -e 设置参数image.png
      8. 启动mysql容器
      9. image.png
      10. 查看/root/mysql/data目录是否有数据文件image.png
      11. 使用工具连接测试