Docker 教程

  • 什么是docker
-docker
	是一个开源的应用容器引擎,基于go语言开发,可以将应用和依赖打包到容器中,
-核心概念
	镜像 image:从docker hub下载, 通过docker file创建出来,算是一个文件系统
	容器 container: 类似于沙箱,利用容器来隔离应用,容器是镜像创建的应用运行出来的实例,容器之间相互隔离.
	仓库 repository: 存放镜像文件的地方
- 命令
yum install -y docker 
systenmctl start docker
systemctl enable docker 
docker run hello-word
	
  • 镜像
-镜像命令 
docker运行之前需要本地存在对应的镜像,镜像是容器运行的前提,如果本地没有镜像则会从配置好的仓库中下载。
- docker images  查看本地下载的镜像  
- docker search 镜像名字  搜索镜像
  • 容器
- 容器是镜像运行成功的实例 有了镜像才可以创建容器 
-  docker create -it imagename #创建容器
-  docker ps  #列出容器
- doceker run 镜像名字  /bin/echo 'hello world' #运行命令等价于创建和启动 
- docker run -d 镜像名字 /bin/sh -c "111"  
- docker logs 容器id  #获取容器输出信息
- docker stop 容器id  #终止容器  
- docker start 容器id  #启动容器 
- docker restart 容器id #重新启动
进入容器
启动容器 -d之后容器会进入后台运行,用户想要看到容器信息需要进入容器进行操作,
工具 exec
docker exec -it  容器id  /bin/bash 
-删除容器 
docker rm 容器id 
-退出
如果docker容器在启动的时候没有添加-d的参数
exit #停止并退出
ctrl+p+q #不停止 并退出

  • docker中常见的命令
- 查看日志
docker logs 容器id 
- 查看容器里面的进程
docker top 容器id 
- 从容器中拷贝文件到主机上 
docker cp 容器id: 容器内部路径    目录路径

  • 安装JDK
- 查看jdk镜像
docker search openjdk:11
- 下载jdk 
docker pull openjdk:11
- 运行jdk镜像
docker run openjdk:11  java -version
  • docker 安装
-  tomcat是一个开源web服务器
- 查看tomcat镜像 
docker search docker.io/tomee
- 下载tomcat 
docker pull docker.io/tomee
-启动tomcat
docker run -d --name mytomcat -p 9090:8080 docker.io/tomee
参数: -d 容器进入后台运行 用户无法看到容器中的信息 -p 绑定端口 宿主机端口:容器内部应用端口 一个是外向一个内向
-name 指定一个名称

  • 安装mysql
-查看mysql 镜像 
docker search mysql:5.7
- 下载镜像
docker pull mysql:5.7
- 启动镜像
docker run --name mysql -d  -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
-p 设置访问端口 3307  
-e 配置环境变量 MYSQL_ROOT_PASSWORD 设置容器内部mysql root 密码 

  • 容器数据卷
- 容器数据卷
docker中的数据可以存储在类似于磁盘中,这种磁盘被称为是数据卷
当容器删除之后,在容器中的产生的数据还在吗 
docker容器和宿主机可以直接通信交换数据 和宿主机中的docker容器无法通信

1 数据卷是宿主机中的一个目录或是文件
2 当容器目录和宿主机中的目录绑定之后,数据会同步
3 一个数据卷可以被多个容器挂载 
4 一个容器可以挂载多个数据卷
- 数据卷的作用
1 容器数据能够持久化
2 外部机器可以和容器通过数据卷进行通信
3 容器之间可以通过数据卷进行交换
数据卷可以实现容器数据持久化和同步操作 容器之间的数据也能够共享
- 配置数据卷
docker run -v 宿主机目录:容器内目录 webapps
目录必须是绝对目录
目录不存在则会自动创建
可以挂载多个数据卷

给tomcat服务器挂载/opt/webapps目录
docker run -d --name mytomcat -p 8080:8080 -v /opt/webapps:/usr/local/tomcat/webapps tomcat

  • Volume 基本使用
- volume 基本使用
参数:  create #创建数据卷  
	  inspect #查看数据卷元数据
	  ls      # 查看数据卷列表
	  prune   # 删除所有未使用的卷
	  rm      # 删除数据卷
- 创建一个自定义容器 
 docker volume crate edc-tomcat-vol
 - 查看所有的容器卷
 docker volume ls 
 - 查看指定容器的详细信息
 docker volume inspect edc-tomcat-vol
 - 删除数据卷
 docker volume rm edc-tomcat-vol
- 使用自定义数据卷
定义一个数据卷 创建一个容器来使用它 
dcoker run -d -it -name=edc-tomcat -p 8080:8080 -v edc-tomcat-vol:/usr/local/tomcat/webapps tomcat
-v 代表挂载数据卷 使用自定义挂载卷edc-tomcat-vol 挂载到/usr/local/tomcat/webapps目录下

  • mysql 数据卷挂载
- 搜索镜像
docker search mysql:5.7
- 下载镜像
docker pull mysql:5.7
- 运行镜像
docker run -d -p 3306:3306 
-v /opt/mysql/conf:/etc/mysql/conf.d
-v /opt/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456 
--name my-mysql
mysql:5.7

  • dockerfile
- dockerFile 
是一个文本格式的配置文件 通过他快速创建一个自定义镜像 由一行行的命令组成 
 #开头为注释  
 一共有四部分: 1 基础镜像信息 2 维护者信息 3 镜像操作指令 4 容器启动执行指令
dockerfile   -----build-----image
- 示例
#第一行必须指定 基础镜像信息
FROM java:8 
# 维护者信息
MAINTATNER baizhan  
# 镜像操作指令
RUN echo "wget
https://dlcdn.apache.org/tomcat/tomcat9/v9.0.55/bin/apache-tomcat-9.0.55.tar.gz"
run tar -zxvf apache-tomcat-9.0.55.tar.gz -C
/usr/local
# 容器指定执行命令
CMD /usr/local/tomcat/bin/catalina.sh

- 说明
1 关键字是FROM 指明所基于的镜像名称
2 维护者信息关键字是MAINTAINER
3 镜像操作指令, 如RUN 每执行一条RUN命令,镜像添加新的一层
4 CMD指令,来指明运行容器时的操作命令.
  • dcoker 基本架构
- docker 采用c/s架构 
- docker daemon 宿主机后台运行 接收客户端请求并处理
- docker 是为用户提供的命令窗口 与服务器进行交互   
 sudo docker version
 sudo docker -H tcp://127.0.0.1:1234
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值