Docker基本指令说明
From XXX(基于什么镜像)
WORKDIR(指定shell语句运行在那个路径下)
COPY(将宿主机的文件拷贝到某路径下)
RUN(运行shell语句,只要构建就会运行,如echo 321 >> 1.txt)
CMD (指定镜像启动运行的脚本,只有容器真正运行的时候才会运行的脚本,执行后容器的生命周期即结束,且一般为阻塞式语句,如tail语句)
一般语句为:
FROM WORKDIR COPY-ADD RUN CMD-ENTRYPOINT
ENTRYPOINT非json则以ENTRYPOT为准,如果ENTRYPOINT和CMD都是JSON则ENTRYPOINT+CMD拼接成shell
EXPOSE---暴露镜像的指定端口
VOLUME---指定映射文件
ENV---指定doker的环境变量,运行时一直生效
ARG---构建参数,运行时无效,可以构建时候临时修改变量
LABEL---指定元数据,便于找到docker
ONBUILD---当前镜像构建的时候不会执行,基于当前镜像的镜像去构建的时候才会执行
STOPSIGNAL---指定容器使用什么信号,一般指定信号名
HEALTHCHECK---检查容器的健康状态
SHELL---指定linux为/bin/sh,windows为cmd
构建
需要将所需要构建的文件与
Dockerfile放至同一目录,不放置在同一目录可通过如下命令docker build -f .\Dockerfile.dockerfile . -t hello
构建命令
docker build -t image:image_tag .
运行
执行如下命令
创建并运行
container容器的命令:docker run --name containerName -p 80:80 -d container命令解读:
docker run :创建并运行一个容器
--name : 给容器起一个名字,比如叫做
mn-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器
container:镜像名称,例如container
其他命令
-
docker run:创建并运行一个容器,处于运行状态
-
docker pause:让一个运行的容器暂停
-
docker unpause:让一个容器从暂停状态恢复运行
-
docker stop:停止一个运行的容器
-
docker start:让一个停止的容器再次运行
-
docker rm:删除一个容器
-
docker rmi 删除一个镜像
-
docker cp [容器id]:docker容器中配置文件路径 主机路径: 拷贝容器内的文件
-
docker cp 主机文件路径 容器id:docker容器中配置文件路径: 拷贝到容器里(完成后重启容器)
docker查看容器日志
- 查看容器启动时的日志
docker logs 容器id
- 只看最新的日志
docker logs --tail 0 -f 容器id
docekr进入容器
docker exec -it 容器id /bin/bas
docker复制容器内的文件
docker cp [容器id]:docker容器中配置文件路径 主机路径
# 更改回去
docker cp 主机文件路径 容器id:docker容器中配置文件路径
样例:构建springboot镜像
# jdk环境,这里是从docker镜像拉取jdk17,构建镜像
FROM openjdk:17
# 暴露端口
EXPOSE 8082
# 声明env
ENV tag 1.2 # 项目版本号
# 工作目录
WORKDIR /app
ADD PortableForTheElderlyBackground-$tag-SNAPSHOT.jar /app/back.jar
# 执行命令
ENTRYPOINT [ "java","-jar", "/app/back.jar"]
IDEA:构建Docker镜像
通过IDEA的docker插件可实现一键生成镜像和部署容器服务,
docker开启配置
修改docker的配置文件:
vim /usr/lib/systemd/system/docker.service
#修改ExecStart这行,可将原先的注释,防火墙或者安全组开发2375端口
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
# 修改完成后保存
# 重新加载系统文件
systemctl daemon-reload
# 重启docker
systemctl restart docker
IDEA设置
docker连接配置
1.配置docker.exe
docker镜像在IDEA进行构建需要用到,这里需要去下载docker-windows本机才会有exe文件
2.docker连接信息配置
3.编写Dockerfile
编写好的Dockerfile放到项目的根路径下,方便查找
4.右击Dockerfile选择运行配置
最后点击绿色的run按钮即可,将会自动进行制作镜像和启动容器
![]()
![]()
运行Dockerfile可能会出现无法制作镜像等情况
尝试重启docker或者检查防火墙,以及考虑docker下载镜像源等情况