docker 基础知识

docker介绍
背景:为了解决软件跨环境迁移问题诞生--》作为整体打包至容器中部署
诞生时间:2013
版本:社区版(CE)和企业版(EE)
二、docker架构

在这里插入图片描述

客户端:接收并发送命令至服务端
服务端:
	容器:沙箱机制,相互隔离,互不影响
	镜像:类比于安装包,需要运行在容器中提供服务
仓库:
	官方仓库:docker hub
	三方仓库:镜像加速器
	本地仓库:
三、docker使用
3.1 打开虚拟机
账号/密码: root/root
#查看ip
ifconfig
找到------>ens33 inet对应ip连接即可
3.2 docker安装
#docker版本查看命令
docker -v
#结果
Docker version 19.03.5, build 633a0ea
3.3 镜像加速器配置
  • 中科大镜像加速器
  • 网易镜像加速器
  • 腾讯镜像加速器
  • 阿里云镜像加速器(需要注册阿里云账号)
#用于查看是否有使用自己的镜像加速器地址
docker info
3.4 docker三大命令(重点)
a. 守护进程操作命令
#启动命令
systemctl start docker
#开机自启命令
systemctl enable docker
#停止命令
systemctl stop docker
#重启命令
systemctl restart docker
#查看状态
systemctl status docker
b.镜像操作命令
#查找镜像
docker search 镜像名称(mysql/redis/nginx/tomcat) #默认是最新版本 
#指定版本查询
docker search 镜像名称:版本 (docker search mysql:5.7)
#下载镜像
docker pull 镜像名称 #默认是最新版本 
#删除镜像
docker rmi  镜像名称 #默认是最新版本 
#查看本地镜像
docker images
#查看本地仓库所有镜像id
docker images -q
c.容器操作命令
#沙箱机制 相互隔离 互不影响
#1.交互式容器 
   #特点:1.容器创建后直接进入内部;2.退出容器后容器自动停止运行。
	docker run -it --name=c1 centos:7 /bin/bash
	
	exit #退出容器
#2.守护式容器
	#特点:1.容器创建后不会直接进入内部;2.退出容器后容器正常运行。
	docker run -id --name=c2 centos:7 
#3.查看正在运行着的容器
docker ps
#4.查看所有容器
docker ps -a
#5.进入容器的命令
docker exec -it 容器名称 /bin/bash
#6.启动容器 
 #交互式容器经过start命令后会自动转换为守护式容器
docker start 容器名称/容器id
#7.停止容器
docker stop 容器名称/容器id
#8.删除容器
docker rm 容器名称/容器id
四、数据卷(了解)
1.数据卷作用

在这里插入图片描述

  • 容器数据的持久化
  • 解决外部机器的数据同步问题
  • 解决容器之间的数据共享问题
2. 命令
docker run -id --name=c1 -v /虚拟机绝对路径:/容器内部绝对路径  镜像名称

#注意:
	1.如果目录不存在会自动创建
	2.必须使用绝对路径
	3.冒号必须是英文的冒号,并且冒号前是虚拟机的路径,冒号后是容器的路径
五、docker应用部署(次重点)
1.mysql部署
#1.部署
docker run -id --name=c_mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
#注意:
	1·必须做端口的映射,否则外部访问不到
	2.必须指定root账号的密码,否则创建失败
2.tomcat部署
#1.部署
docker run -id --name=c_tomcat -p 8080:8080 -v /root/tomcat:/usr/local/tomcat/webapps tomcat
#2.注意事项
	a.必须做数据的挂载
	b.必须在挂载完毕后再次新建目录(test)然后再创建index.html
	c.访问: http://ip:8080/test/index.html
3.nginx部署
#1.部署
docker run -id --name=c_nginx -p 80:80 -v /root/nginx:/usr/share/nginx/html nginx
#2.注意事项:
	a.必须做数据的挂载
	b.挂载位置必须是/usr/share/nginx/html (nginx默认部署页面的位置)
	c.访问:  http://ip
4.redis部署
#1.部署
docker run -id --name=c_redis -p 6379:6379 redis
六、docker镜像本质

概念:

​ docker镜像的本质其实就是一个文件分层管理系统。

思考:

​ 为什么tomcat变大了?centos7变小了?
在这里插入图片描述
原因:

   1.因为tomcat不仅仅是一个tomcat,本质上是一个微型的虚拟机,并且此虚拟机中已经自带了jdk,所以tomcat变大了。

   2.centos7变小是因为复用了bootfs。

七、dockerfile的使用(看一下就行了)
1. 使用dockerfile打包springboot项目
#boot启动命令
java -jar xxx.jar
#编写dockerfile
FROM java:8
MAINTAINER itheima
ADD spring-boot-docker-demo.jar app.jar
CMD java -jar app.jar
#构建docker镜像前记得上传jar包
docker build -f dockerfile文件名称 -t 镜像名称:1.0 .
#部署
docker run -id --name=c_springboot -p 8081:8080 31springboot:1.0
#访问
http://ip:8081/docker
八、容器与虚拟机的区别

在这里插入图片描述
容器比虚拟机性价比高

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

娃娃 哈哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值