先创建一个容器,在容器里做修改,最后将修改后容器提交为一个新镜像
制作运行Bootstrap模板的Tomcat镜像
docker pull tomcat:8.0
docker images tomcat
docker run --name tomcat -d -p 82:8080 ef6a7c98d192
docker exec -it tomcat /bin/bash
ls -l
Tips:容器内部不支持ll命令,可以使用ls -l代替
docker cp /home/test tomcat:/usr/local/tomcat/webapps
cd ./webapps
ls -l
docker ps -l
docker restart 16e81e0a2f4e
docker commit -a "hanxiaozhang" -m "测试打镜像" 16e81e0a2f4e my_tomcat:1.0
Tips:语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS:参数 -a :提交的镜像作者 -m :提交时的说明文字
CONTAINER:容器(这里指CONTAINER ID)
REPOSITORY:镜像名称
TAG:版本
i.登录
docker login daocloud.io -u用户名 -p密码
Tips:这里使用Daocloud提供的镜像仓库; Daocloud只有企业版才有本地镜像仓库,每月收费200元。
ii.标记镜像 标记镜像可选,但Daocloud有格式要求
docker tag my_tomcat:1.0 daocloud.io/hanxiaozhang/my_tomcat:1.0
Tips:语法
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
iii.上传镜像
docker push daocloud.io/hanxiaozhang/my_tomcat:1.0
Tips:语法
docker push [OPTIONS] NAME[:TAG]
docker build 命令需要使用 Dockerfile文件来创建镜像,推荐大家使用。
一系列指令和参数组成
语法:
每条指令必须大写,后面要跟随一个参数;
指令按照顺序从上向下执行,原理与docker commit命令制作镜像一样。
创建sprigboot项目镜像:
mkdir /data/dockerFile
touch /data/dockerFile/Dockerfile
vim ./Dockerfile
#指定构建镜像的基础源镜像
FROM daocloud.io/library/java:8
#指定维护者信息
MAINTAINER hanxiaozhang
#创建数据挂载点
VOLUME /tmp
#将本地文件添加到容器中
ADD bootdo_demo-2.0.0.jar /app.jar
#创建镜像时执行的命令
RUN bash -c 'touch /app.jar'
#声明容器应该打开的端口,但实际并没有打开。-p 80:8082
EXPOSE 8082
#容器启动后执行的命令,并且不能被docker run --entrypoint覆盖
ENTRYPOINT ["java","-jar","/app.jar"]
rz
docker build -t daocloud.io/hanxiaozhang/bootdo:1.0 .
Tips:语法
docker build [OPTIONS] PATH | URL | -
同上
Rancher部署
Tips:Rancher使用方法,会有文章细讲。