Dockerfile
Dockerfile是用来构建镜像的|是一个脚本文件
#首先新建一个目录,做测试目录
sudo mkdir dock-file-volume
#然后在里面写一个脚本
sudo vim dockerfile1
#使用源镜像为
FROM ubuntu:16.04
#卷挂载
VOLUME ["volume01","volume02"]
#成功后输入,并使用bash进入
CMD echo "---end---"
CMD /bin/bash
#使用build并按照dockerfile1文件构建一个名为ssd/ubuntu的镜像版本为1.0
$ sudo docker build -f dockerfile1 -t sdd/ubuntu:1.0 .
Sending build context to Docker daemon 2.048kB
Step 1/4 : FROM ubuntu:16.04
---> 005d2078bdfa
Step 2/4 : VOLUME ["volume01","volume02"]
---> Running in 5c4f02831528
Removing intermediate container 5c4f02831528
---> 6107b2635bc0
Step 3/4 : CMD echo "---end---"
---> Running in 70a6219b8579
Removing intermediate container 70a6219b8579
---> afa42d8e488f
Step 4/4 : CMD /bin/bash
---> Running in 6e4fd795fb1c
Removing intermediate container 6e4fd795fb1c
---> 04cc523c62fd
Successfully built 04cc523c62fd
Successfully tagged sdd/ubuntu:1.0
#使用images命令可查看构建出的镜像
#使用查看详情命令
sudo ducker inspect f1fa20d26a97
可以看到卷挂载的路径
数据卷容器
--volumes-from
多个容器之间数据共享
#启动三个容器
sudo docker run -it --name doc01 sdd/ubuntu:1.0
#启动第二个并挂载到第一个
sudo docker run -it --name doc02 --volumes-from doc02 sdd/ubuntu:1.0
#第三个
sudo docker run -it --name doc03 --volumes-from doc03 sdd/ubuntu:1.0
DockerFile
1、编写dockerfile文件
2、docker build构建成为一个镜像
3、运行镜像
4、docker push发布上传镜像
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wtcsHxGu-1605508422212)(C:\Users\X\AppData\Roaming\Typora\typora-user-images\image-20200530144822702.png)]
制作tomcat镜像
1、准备好镜像文件,tomcat jdk
2、编写Dockerfile文件
#使用源镜像
FROM ubuntu:16.04
MAINTAINER pokerblack
#将当前目录下的jdk和tomcat压缩包添加到镜像中并解压
ADD jdk-8u162-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.33.tar.gz /usr/local/
#更新软件源
RUN apt-get update
#下载vim并全部输入yes
RUN apt-get -y --force-yes install vim
#增加工作目录环境变量
ENV MYPATH /usr/local
WORKDIR $MYPATH
#增加jdk环境变量及tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_162
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.33
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.33
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#开放8080端口
EXPOSE 8080
#最后开启tomcat服务
CMD /usr/local/apache-tomcat-9.0.33/bin/startup.sh && tail -F /url/local/apache-tomcat-9.0.33/bin/logs/catalina.out
3、构建镜像
#文件名为Dockerfile默认文件名,可以不加-f
sudo docker build -t diytomcat .
4、启动镜像为容器
sudo docker run -d -p 3310:8080 \
--name mytomcat \
-v /home/mytomcat:/usr/local/apache-tomcat-9.0.33/webapps/test \
-v /home/mytomcat/tomcatlogs/://usr/local/apache-tomcat-9.0.33/logs \
diytomcat
5、编写jsp页面存放在挂载目录/home/mytomcat
6、访问端口查看是否部署成功
发布镜像
DockerHub
#首先登陆
sudo docker login -u 账户 -p 密码
#标记镜像
sudo docker tag 镜像id 命名空间/镜像名:版本
#提交镜像
sudo docker push 命名空间/仓库(镜像):版本
#更新版本
sudo docker push 命名空间/镜像:版本
aliyun
#创建命名空间
#创建镜像仓库
#登陆docker
sudo docker login --username=阿里云账号全名 registry.cn-beijing.aliyuncs.com
#tag重命名
sudo docker tag 镜像id registry.cn-beijing.aliyuncs.com/命名空间/镜像名:版本
#push发布
sudo docker push registry.cn-beijing.aliyuncs.com/命名空间/镜像名:1.0
sudo docker tag 镜像id registry.cn-beijing.aliyuncs.com/命名空间/镜像名:版本
#push发布
sudo docker push registry.cn-beijing.aliyuncs.com/命名空间/镜像名:1.0