Dockerfile示例
#java示例
#依赖
FROM java:8
#制作人
MAINTAINER "xiao"
#拷必要的东西上去
COPY config config
COPY lib lib
COPY hlj-guard-0.0.1-SNAPSHOT.jar hlj-guard-0.0.1-SNAPSHOT.jar
ENV TIME_ZONE Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime
#启动命令
ENTRYPOINT ["java","-jar","hlj-guard-0.0.1-SNAPSHOT.jar"]
#nginx示例
#依赖
FROM nginx:latest
#制作人
MAINTAINER "Xiao"
#拷必要的东西上去
COPY run.sh /etc/nginx/run.sh
COPY nginx.conf /etc/nginx/nginx.conf
COPY web /home/web
RUN chmod 755 -R /home/web/*
RUN chmod 755 /etc/nginx/run.sh
RUN chmod 755 /etc/nginx/nginx.conf
WORKDIR /etc/nginx/
ENTRYPOINT ["./run.sh"]保活
有时明明一切正常,容器却会在启动后立即挂掉,是因为它不知道你有程序在后台运行,它以为已经执行完成了,此时该用start.sh启动后台程序,并在sh里循环保活:
#!/bin/sh
echo start nginx
nginx
while true;
do
sleep 10s
done构建镜像
最后那个.必须要有,且名字必需全小写
docker build -t 镜像名:1.0 .
运行示例
#-d后台运行
#-v文件映射
#-p端口映射
#localtime同步时区且只读
#--restart=always 自启
#\是linux的换行符 ^是windows的
docker run -d -p 8091:8091 \
-v /home/qqhr/data:/home/data/ \
-v /etc/localtime:/etc/localtime:ro \
--restart=always --name=hlj-guard hlj-guard:1.0镜像
查看全部
docker images
删除
docker rmi 775c7c9ee1e1
docker rmi -f 775c7c9ee1e1
docker rmi docker images -q
导出到本地
docker save -o 本地.tar 镜像名
加载本地镜像
docker load<本地镜像.tar
容器
查看全部
docker ps
docker ps -a
进入
docker exec -it 775c7c9ee1e1 /bin/bash
查看日志
docker logs -f 775c7c9ee1e1
删除
docker rm 775c7c9ee1e1
docker rm -f 775c7c9ee1e1
docker rm docker ps -a -q
推送仓库
#在推送之前,你需要给你的镜像打上标签,以便能够识别它。使用docker tag命令:
docker tag your-image-name your-repo-name/your-image-name:tag
#这里的your-repo-name是你的Docker仓库的名称,tag是给镜像指定的版本号。
docker push your-repo-name/your-image-name:tag