docker学习笔记-docker进阶

一、 镜像

1. 提交镜像

docker commit
在这里插入图片描述
在这里插入图片描述

2. 镜像特点

在这里插入图片描述

二、 容器数据卷

1. 什么是数据卷

总结一句话:容器的同步和持久化操作,容器间数据也是可以共享的

2. 使用数据卷

1) 使用命令挂载 -v

docker run -it -v 主机目录:容器目录 镜像名 /bin/bash
在这里插入图片描述

测试

在这里插入图片描述

2) 安装mysql:
docker run 
-d -p 3310:3306
-v /home/mysql/conf:/etc/mysql/conf.d			# 挂载目录
-v /home/mysql/data:/var/lib/mysql				# 挂载目录
-e MYSQL_ROOT_PASSWORD=123456			# 设置环境,将myqsl的root账户的密码设置为123456
--name mysql01 mysql:5.7

在这里插入图片描述

删除容器,挂载的数据没有丢失

3. 具名挂载和匿名挂载

1) 匿名挂载

docker run -d –name nginx01 -P -v /etc/nginx nginx
在这里插入图片描述

2) 具名挂载(推荐使用)

docker run -d -P –name nginx02 -v juming-naginx:/etc/nginx nginx
在这里插入图片描述

3) 所有docker容器内的卷,没指定主机目录的情况下都是在/var/lib/docker/volume/xxx/_data

在这里插入图片描述

4) 拓展

Alt

4. 数据卷容器

docker run -it --name docker01 镜像名			# 启动容器
docker run -it --name  docker02 --volumes-from docker01 镜像名			# 同步docker01数据
docker run -it --name  docker03 --volumes-from docker01 镜像名			# 同步docker01数据

在这里插入图片描述

三、 dockerFile

1. dockerfile是用来构建docker镜像的文件,命令参数脚本

2. 构建步骤

1)	编写一个dockerfile脚本
2)	Docker build 构建为一个镜像
3)	Docker run运行镜像
4)	Docker push 发布镜像到(dockerhub/阿里云镜像仓库)

3. DockerFile指令

在这里插入图片描述
在这里插入图片描述

4. 实战测试

1) 自己写一个centos镜像
a) 创建文件

vim mydockerfile-centos

b) 编写命令
FROM centos			# 以官方centos为基础
MAINTAINER ran<1596145825@qq.com>			# 镜像作者和邮箱
ENV MYPATH /usr/local			# 设置环境变量
WORKDIR $MYPATH			# 设置工作目录
RUN yum -y install vim			# 安装vim
RUN yum -y install net-tools			# 安装ipconfig相关工具
EXPOSE 80			# 暴露80端口
CMD echo $MYPATH 			# 打印设置的环境变量 
CMD echo “---end---”			# 打印end
CMD /bin/bash			# 设置命令执行方式
c) 构建镜像

docker build -f mydockerfile-centos -t mycentos:0.1 .
在这里插入图片描述

d) 测试运行

在这里插入图片描述
在这里插入图片描述

e) 列出镜像的变更历史

docker history

2) CMD和ENTRYPOINT区别
a) 区别

在这里插入图片描述

b) 测试cmd

在这里插入图片描述

c) 测试ENTRYPOINT

在这里插入图片描述
在这里插入图片描述

四、 Tomcat实战

1. 准备tomcat压缩包,jdk压缩包

将压缩包丢到目录
touch readme.txt
vim dockerfile-tomcat 

2. 编写dockerfile文件

FROM centos
MAINTAINER ran<1596145825@qq.com>
COPY readme.txt /usr/local/readme.txt			# 复制文件
ADD jdk-8u11-linux-x64.tar.gz /usr/local/			# ADD会自动解压压缩包
ADD apache-tomcat-9.0.22.tar.gz /usr/local/
ENV MYPATH /usr/local			# 设置环境变量
WORKDIR $MYPATH			# 设置工作目录
RUN yum -y install vim			# 安装vim
ENV JAVA_HOME /usr/local/jdk.1.8.0_11
ENV CLASS_PATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache- tomcat-9.0.22
ENV CATALINA_BASE /usr/local/apache- tomcat-9.0.22
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME:/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/ apache-tomcat-9.0.22/bin/start.sh && tail -F /usr/local/ apache-tomcat-9.0.22/bin/logs/catalina.out			# 启动tomcat并打印日志

3. 构建镜像

docker build -f dockerfile-tomcat diytomcat .

4. 启动镜像

docker run -it --name mytomcat 
-p 9090:8080 
-v /home/tomcat/test:/usr/local/ apache-tomcat-9.0.22/webapps/test
-v /home/tomcat/tomcatlogs:/usr/local/ apache-tomcat-9.0.22/webapps/logs
 Diytomcat

五、 发布自己的镜像

1. 发布到Dockerhub

(1) 注册账号
(2) 登录 docker login -u username
(3) 输入密码
(4)docker push

2. 发布到阿里云镜像仓库

(1) 登录阿里云
(2) 找到容器镜像服务
(3) 创建命名空间
(4) 创建容器镜像
(5) 发布直接参考下面的官方文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值