Docker-08-DockerFile-实战测试

Docker-08-DockerFile-实战测试

1. 构建自己的centos

docker hub centos: https://hub.docker.com/_/centos

mark

  1. 我们可以看到的是:官方的镜像很多命令都是没有的(压缩版本)

mark

  1. 于是我们构建自己的centos (编写dockerfile文件):

mark

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
FROM centos


MAINTAINER zhuuu<353446503@qq.com>

ENV MYPATH /usr/local

WORKDIR $MYPATH

RUN yum -y install vim
RUN yum -y install net-tools


EXPOSE 80

CMD echo $MYPATH

CMD echo "----end----"


CMD /bin/bash
  1. 通过文件构建镜像
1
docker bulild -f dockerfile文件路径 -t 镜像名:[tag] .

mark

  1. 进入查看是否构建成功
1
docker  run -it mycentos:0.2

mark

  • 工作目录设置成功
  • ifconfig 安装成功
  1. 查看构建历史
1
docker history ID

mark

2. 构建自己的Tomcat

  1. 准备镜像文件
    • tomcat 压缩包
    • jdk 压缩包

mark

  1. 编写Dockerfile ,官方命令Dockerfile ,build会自动寻找这个文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
FROM centos

MAINTAINER zhuuu<353446503@qq.com>

ADD jdk-8u11-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.51.tar.gz /usr/local/


RUN yum -y install vim

ENV MYPATH /usr/local

WORKDIR $MYPATH


ENV JAVA_HOME /usr/local/jdk1.8.0_11

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.51
ENV CATALINA_BASH /usr/local/apache-tomcat-8.5.51


ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-8.5.51/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.51/bin/logs/catalina.out
  1. 构建镜像
1
2
docker build -t mytomcat .
## 因为取名字为dockerfile ,所有不需要指定文件

mark

  1. 启动镜像
1
2
3
4
docker run -d -p 9090:8080 --name ZhuuuTomcat03 -v /home/Zhuuu/build/tomcat/test:/usr/local/apache-tomcat-8.5.51/webapps/test -v/home/Zhuuu/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-8.5.51/logs diytomcat


8e0776e9f68fda3a6cf909193d990f6f4f0bcc84153af41e6db819f890f9fd11

并且测试tomcat是否启动:

mark

  1. 发布项目(在本地发布就可以)
  • 这里配置了卷,所以本地和镜像内是同步的。
  • web.xml
1
2
3
4
5
6
7
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">

</web-app>

3. 发布自己的镜像

3.1 Dockerhub

  1. 登录自己的docker hub
1
2
3
4
5
6
7
8
9
10
11
12
root@Zhuuu:/home/Zhuuu/build/tomcat/test/WEB-INF# docker login --help

Usage: docker login [OPTIONS] [SERVER]

Log in to a Docker registry.
If no server is specified, the default is defined by the daemon.

Options:
-p, --password string Password
--password-stdin Take the password from stdin
-u, --username string Username
root@Zhuuu:/home/Zhuuu/build/tomcat/test/WEB-INF#

mark

  1. 提交镜像
1
2
3
docker push zhuuu/diytomcat:1.0

# docker push 名字/容器名:版本号

可以发现出现了问题

1
2
3
root@Zhuuu:/home/Zhuuu/build/tomcat/test/WEB-INF# docker push zhuuu/diytomcat:1.0
The push refers to repository [docker.io/zhuuu/diytomcat]
An image does not exist locally with the tag: zhuuu/diytomcat

解决方法:docker tag 打上标签

1
2
root@Zhuuu:/home/Zhuuu/build/tomcat/test/WEB-INF# docker tag ac9db0881fda zhuuu/tomcat:1.0
root@Zhuuu:/home/Zhuuu/build/tomcat/test/WEB-INF# docker push zhuuu/tomcat:1.0

mark

3.2 阿里云镜像

  • 登录阿里云,找到容器镜像服务

mark

  • 创建命名空间

mark

  • 创建镜像仓库

mark

mark

好了 ,这就创建成功了

  • 操作指南

mark

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信