老爹
老爹
发布于 2026-02-26 / 5 阅读
0
0

docker

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


评论