想了解Docker全面概念点击 -> 概念详解
在云计算和微服务架构日益普及的今天,Docker凭借其轻量级、可移植性等优势,成为了云原生技术生态中的重要一环。本文将带您一步步走进Docker的世界,从环境搭建到项目实战,掌握Docker的常用命令和最佳实践。
一、环境搭建
- 下载安装包
二、Docker 项目实战
正式生产使用示例Dockerfile如下:
FROM openjdk:8-jre
COPY target/*.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
由于Docker 镜像由只读层组成,每个层代表一个 Dockerfile 指令。这些层是堆叠的,每一层都是前一层变化的增量。
下面我们一起来看下Dockerfile日常常用格式:
FROM openjdk:8-jre
指定基础镜像
LABEL app="应用名”
打镜像标签
WORKDIR /app
容器工作目录,此路径作为后续所有命令的默认执行位置
ADD target/*.jar /app.jar
添加文件/目录下所有文件到容器 ADD <宿主机> <容器>
COPY target/*.jar /app.jar
文件复制 COPY <宿主机路径> <容器路径>
VOLUME ["/var/www", "/var/log/apache2", "/etc/apache2”]****
ENV
ENV <key1>=<value1> <key2>=<value2> … 容器运行环境变量
ARG
USER
RUN
EXPOSE
EXPOSE 80/tcpEXPOSE 80/udp
声明运行时容器提供服务端口
HEALTHCHECK
HEALTHCHECK --interval=5s --timeout=3s \ CMD curl -fs http://localhost/ || exit 1
ENTRYPOINT ["exec", "executable", "param1", "param2”]
三、Dockerfile 构建镜像
- docker build -t app:1.0 -f /Users/use/Dockerfile .
- docker build --build-arg HTTP_PROXY=http://10.20.30.2:1234 . 构建参数ARG传递
四、运行镜像
- docker run -it app:1.0 /bin/bash 交互式运行
- docker run -d app:1.0 后台运行
- docker run -i -t --rm -p 80:80 nginx 交互运行容器结束删除
- docker run -it -p 8980:8980 --name CName app:1.0 /bin/bash 指定容器名称交互式运行
五、查看容器
- docker ps 运行中容器
- docker ps -a 所有容器
六、进入容器
- docker exec -it app /bin/bash
docker exec <容器名或容器id> /bin/bash 进入后执行的第一个命令
七、查看容器启动日志
- docker logs app
八、容器运行状态信息
- docker stats [容器名或容器id]
九、退出容器
- 交互式退出 Ctrl + C 或 exit
- Ctrl + P + Ctrl + Q
十、查询镜像
- docker images [option]
十一、其他常用命令
总结:
Docker作为云原生技术的重要组成部分,其强大的功能和灵活性使其成为开发者和运维人员的首选工具。希望本文能够帮助您快速上手Docker,提高工作效率。
关注公众号:顶层架构领域 精彩与你分享