Docker总结
1.Docker相关概念
Docker:OS层的虚拟化架构,服务器快速部署环境的容器技术
VM:属于全虚拟化架构
镜像:从仓库拉取镜像
容器:在容器中展开镜像
仓库:远程仓库保存镜像
安装说明
1.解压缩镜像,双击.vmx文件
2.点击编辑虚拟机设备-》网络适配器-》
3.CD/DVD使用物理驱动器
4.如果出现ip地址无法ping通(重要!!!)
编辑-》虚拟网络编辑器-》右下脚更改设置-》还原默认设置
5.开启虚拟机
6.用户名是root 密码是itcast
7.通过ip addr查看当前服务器ip地址
5.Docker的安装说明,基于Centos7版本
# 1、yum 包更新到最新,更新yum源 yum update # 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 # 3、 设置yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 4、 安装docker,出现输入的界面都按 y yum install -y docker-ce # 5、 查看docker版本,验证是否验证成功 docker -v
docker使用流程:
1.配置docker进程
2.从仓库拉取镜像到宿主机(服务器)
3.通过镜像创建容器并启动
2.Docker命令
2.1 进程相关命令
#启动docker服务: systemctl start docker #停止docker服务: systemctl stop docker #重启docker服务: systemctl restart docker #查看docker服务状态: systemctl status docker #设置开机启动docker服务: systemctl enable docker
2.2 镜像相关命令
#查询镜像 docker search redis #拉取镜像 docker pull redis(或redis:3.0) #删除镜像 docker rmi redis(或redis:版本号) #删除全部镜像 docker rmi `docker images -q` # 删除所有本地镜像
2.3 容器相关命令
#查看运行docker容器 docker ps #查看全部docker容器 docker ps -a #交互启动docker容器,exit退出后会关闭容器 docker run -it --name=my_cl centos:7 /bin/bash #守护启动docker容器,exit退出的时候不会关闭容器 docker run -id --name=my_cl centos:7 #需要进入守护式启动的容器 docker exec -it my_cl /bin/bash #只能删除停掉的容器 docker stop 容器名称 #删除容器 docker rm 容器名/容器id #查看容器相关信息 docker inspect 容器名/容器id
参数说明:
-
-i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
-
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
-
-d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。
-
-it 创建的容器一般称为交互式容器,-id 创建的容器一般称为守护式容器
-
--name:为创建的容器命名。
3.部署练习(重点)
3.1 部署Redis
#1.确认没有相同的容器名称,通过docker ps -a查看,通过docker rm 容器名删 # 名称 宿主机端口:容器端口 镜像名 docker run -id --name=my_redis -p 6380:6379 redis:4.0 #通过任意客户端 -h 主机地址 -p 宿主机端口号 redis-cli -h 192.168.11.128 -p 6380
3.2 部署Tomcat
# -v 宿主机的目录:容器的目录 docker run -id --name=my_tomcat -v /root/tomcat8:/usr/local/tomcat/webapps -p 8080:8080 tomcat:8 # 通过相关的ftp工具将war包上传到容器/root/tomcat8下即可
3.3. 部署Nginx
docker run -id --name=my_nginx -p 80:80 nginx
3.4 部署MySQL
docker run -id --name=my_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
4.了解Dockerfile概念
4.1如何备份容器成镜像
#将容器保存成镜像 docker commit 容器名 镜像名 #将镜像保存成文件方便传输 docker save -o 文件名 镜像名 #其他用户获取了文件,将文件加载成镜像 docker load -i 文件名
4.2 dockerfile部署springboot项目演示
#将springboot的文件上传到服务器 #通过vi指令编写dockerfile FROM java:8 MAINTAINER itheima <itheima@itcast.cn> ADD hello.jar app.jar CMD java -jar app.jar #构建镜像,注意是空格 .结尾!!!!!! docker build -f dockerfile文件名 -t appimage(自定义镜像名) . #启动容器 docker run -id --name=my_app -p 8081:8080 appimage(自定义镜像名)
5.了解DockerCompose服务编排(一次性部署多个容器)
5.1安装说明
# Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker。下面我 们以编译好的二进制包方式安装在Linux系统中。 curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # 设置文件可执行权限 chmod +x /usr/local/bin/docker-compose # 查看版本信息 docker-compose -version
5.2卸载说明
# 二进制包方式安装的,删除二进制文件即可 rm /usr/local/bin/docker-compose
5.3创建docker-compose.yml 文件 (文件名固定),注意不能有重复的容器名
version: '3' services: nginx: container_name: my_nginx image: nginx ports: - 80:80 tomcat: container_name: my_tomcat image: tomcat:8 ports: - 8081:8080 redis: container_name: my_redis image: redis:4.0 ports: - 6379:6379
5.4启动容器 docker-compose up -d