Docker介绍 | Docker是一个应用容器引擎,docker组成包括docker守护进程,仓库,镜像,容器,docker客户端 |
应用场景 | web的自动化打包发布,自动化测试、可持续集成,安装各种组件; |
优点 | 与传统虚拟机比较:docker启动速度比较快,占用体积较小; |
docker 的安装与启动 | |
0.打开虚拟机并且登录服务器 | ssh 192.168.216.128 |
1.yum 包更新到最新 | sudo yum update 【更新时间略久】 |
2.安装需要的软件包,yum-utils 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 | sudo yum install -y yum-utils device-mapper-persistent-data lvm2 |
3.设置yum源:使用的是ustc的【推荐】 | sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo |
3~1.设置yum源:【使用阿里云】(未尝试) 注意:3&3~1任意选择一个安装就好 | sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
4.安装docker;出现出入的界面都按Y | sudo yum install -y docker-ce |
5.查看docker 版本:docker -v | |
6.设置ustc 镜像:ustc 是老牌的linux 镜像提供者,ustc 的docker镜像加速器速度很快,ustc docker mirror的优势就是不需要注册,是真正的公共服务。 | |
6~1.创建docker文件: cd ~ cd /etc/ mkdir docker | 7.编辑此文件:cd /docker vim /etc/docker/daemon.json i { :wq |
8.启动docker 服务: systemctl start docker | 9.关闭docker 服务:systemctl stop docker |
10.重启docker服务: systemctl restart docker | 11.查看docker 服务状态:systemctl status docker |
12 设置开机启动docker 服务:systemctl enable docker | |
镜像相关命令: | |
13.查看镜像:docker images | 14.搜索镜像: docker pull centos:7 |
15.拉取镜像:docker pull centos:7 【如果不带:7,则获取该镜像的最新版本】 | 16.删除镜像:docker rmi centos:7 |
17.删除所有的镜像:docker rmi 'docker images -q' 【如果不到世界末日,不要执行该命令】 | |
查看创建并启动交互式容器【容器退出,服务停止】 | |
18.查看正在运行的容器:docker ps | 19.查看所有容器:docker ps -a |
20.开始创建:【这里要切换回跟目录】 cd ~ docker run -it --name=mycentos7 centos:7 /bin/bash | 21.退出命令:exit |
22.查看正在运行的容器:docker ps | 23.查看所有容器:docker ps -a |
创建并启动守护式容器:【容器退出,服务正常运行】 | |
1.创建守护式容器:docker run -di --name=mycentos2 centos:7 | 2.启动容器后,进入容器:docker exec -it mycentos2 /bin/bash |
3.退出容器:exit | 4.停止容器:docker stop mycentos2 |
5.启动容器:docker start mycentos2 | 6.从宿主机复制到指定容器:docker cp yunlan.txt mycentos2:/ |
6.进入容器:docker exec -it mycentos2 /bin/bash 【此时可以看到复制的东西已经到了容器内】 | 7.从容器复制文件到宿主机: 首先切换到宿主机(exit cd ~) docker cp mycentos2:/yunlan.txt /root |
8.容器挂载【宿主机改变,影响到容器】:docker run -di -v /usr/local/test:/usr/local/test --name=mycentos3 centos:7 | 9.进入指定容器,查看挂载是否成功:docker exec -it mycentos3 /bin/bash |
10.查看指定容器的ip :docker inspect mycentos3 | 11.删除容器:cd ~ docker rm mycentos2 【注意:运行中的容器不允许被删除】 docker rmi -f 7ec4f35ab452 |
12.删除docker 内所有容器:docker rm 'docker ps -a-q' 【注意:不到世界末日,不要执行该命令】 | |
docker 下安装MySQL | |
1.查看镜像:docker images mysql | 2.拉取镜像:docker pull centos/mysql-57-centos7 |
3.创建守护式容器&指定映射端口和用户密码: docker run -di --name=mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=yunlan centos/mysql-57-centos7 | 4.查看MySQL容器运行情况:docker ps ![]() |
5.进入mysql 容器:docker exec -it mysql5.7 /bin/bash | 6.登录MySQL :mysql -u root -p 【容器进入密码,密码为空,直接敲击enter 即可登录mysql】 |
7.show database; 【可以显示哦,此时也可以在navicat mysql 中可以登录】 | |
tomcat 的安装&部署 | |
1.查看镜像:docker images tomcat | 2.拉取镜像:docker pull tomcat |
3.创建守护式容器&指定映射端口和用户密码:docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps tomcat | 4.查看tomcat 容器运行情况:docker ps |
5.进入tomcat 容器:docker exec -it mytomcat /bin/bash | 6.浏览器访问tomcat :http://192.168.216.128:9000/ 【此时4.4,那是因为webapps 里面没有东西哦】 |
nginx 的安装&部署 | |
1.查看镜像:docker images nginix | 2.拉取镜像:docker pull nginx |
3.创建守护式容器&指定映射端口:docker run -di --name=mynginx -p 80:80 nginx | 4.浏览器访问nginx: http://192.168.216.128 【可以看到nginx 欢迎页面哦】 |
redis 的安装&部署 | |
1.查看镜像:docker images redis | 2.拉取镜像:docker pull redis |
3.创建守护式容器&指定映射端口:docker run -di --name=myredis -p 6379:6379 redis | 4.查看redis 容器运行情况:docker ps |
5.进入redis 容器:docker exec -it myredis /bin/bash | 6. 进入容器内部: cd /usr/local/bin |
7.执行命令实行登录客户端:./redis-cli | 8.ping 一下看是否能正常运行:ping 【此时客户端&redis-Manager已可以成功登录哦】 |
docker-componse安装: | |
1.安装配置环境:curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
docker安装fastdfs | |
1.拉取镜像:docker pull morunchang/fastdfs | 2.安装tracker: docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh |
3.安装storage:docker run -d --name storage --net=host -e TRACKER_IP=192.168.216.128:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh | 4.配置nginx: docker exec -it storage /bin/bash cd /etc/nginx cd conf 可以看到nginx.conf 文件的配置信息哦【但是不需要改】 exit docker update --restart=always tracker docker update --restart=always storage 【成功搭建fastdfs ,此时已经可以搭建项目,利用Java 代码上传文件了】 |
5.文件上传地址查看: docker exec -it storage /bin/bash ls 【此时可以看到文件哦】 | 6.设置文件不缓存: docker exec -it storage /bin/bash cd etc/nginx/conf/ vim nginx.conf Esc :wq exit docker restart storage |
查看虚拟机IP | docker-machine ls |
win7 安装docker步骤:
下载地址: | |
安装docker:https://download.docker.com/win/stable/DockerToolbox.exe ,下载安装后会显示三个图标,点击标注图标即可。 问题:如出现windows 正在查找bash.exe。如果想亲自查找文件,请点击“浏览”的问题。 解决方案:你可能提前装了git 。那么找到你的git 路径,ctrl+c 复制路径,桌面右键标准的图标,属性--快捷方式---C:\tools\git\Git\bin\bash.exe --login -i "C:\tools\docker\Docker\start.sh" (login 前面的替换为自己的git 路径)【我的路径是:C:\tools\git\Git\bin\bash.exe】 。 问题:如出现 No default Boot2Docker ISO found locally, downloading the latest release 解决方案:一直打开这个窗口,它会自动下载的[时间会长久,估计20分钟],莫急,你可以打开窗口的同时干自己的事。 | |
配置环境变量 | 安装过之后,右键属性修改指向git 路径: |
docker安装rabbitmq: | 1.点击小海豚图标---稍等几分钟[出现小海豚图标即可]----输入以下命令: docker run -d --hostname rabbit -p 5672:5672 -p 15672:15672 rabbitmq:3.7.3-management 2.点击查看rabbitmq画面:localhost:15672[发现查看不了] 3.命令输入:docker ps -a 显示如下: 4.查看docker 顶部ip 端口,发现是:http://192.168.99.100 5.那么访问地址如下:http://192.168.99.100:15672 用户名/密码:guest 6.显示画面: 但是想用本机ip怎么办呢,原来当时是因为接口没映射,所以导致使用不了localhost访问,正确的运行方式如下 docker run -d --hostname localhost --name myrabbit -p 15672:15672 -p 5672:5672 rabbitmq:3-management |