docker基础部署 📅 2026/8/5 18:33:16 作为一个前端开发者其实对部署这块儿并没有太多的学习只是我平时用的一些能将我们的系统进行一个部署所以这篇仅供参考。在进行docker部署的时候下面常用的一些命令不止是docker命令哈也会有一些常用的linux命令我这里也一块儿说了都是平时自己常用的。文档地址https://docs.docker.com/reference/1. Jenkins构建与推送部署是通过JenkinsdockerJenkins就目前我了解到的核心作用就是自动化构建和推送。我们每次部署时候直接点击右侧的【“运行”】图标即可即可完成自动化构建镜像、以及自动推送到对应的镜像服务器。点击“运行”图标实际上走了一些命令我们点击配置可以看到这里可以配置我们的git地址和分支这样我们要部署的时候不需要前端再执行run build打包操作只需要提交代码到git即可本地测试没问题即可。然后再往下会有脚本配置这两行命令的作用如下在我们前端的项目根目录会有Dockerfile文件会执行这些命令。2. 登录堡垒机docker拉取镜像启动当我们点击【“运行”】图标完成之后就说明已经完成推送这时候我们登录堡垒机按照大致的如下步骤即可这个步骤是我自己简单写的哈其实并没有严格的步骤知道常用命令即可一下简单列举一下我自己常用的命令除了构建镜像时需要注意构建上下文外执行 Docker 命令不需要特定的工作目录。在堡垒机上你可以自由地在任何目录下执行 Docker 命令来管理镜像和容器。一切换当前用户账户到超级用户即 root 用户sudo su然后输入密码回车即可。二看 Docker 容器状态的命令docker psdocker ps 这个命令默认情况下只列出正在运行的容器输出的信息通常包括容器的 ID、名称、创建时间、状态、使用的镜像、端口映射等基本信息。docker ps -a docker ps --all使用 -a 或 --all 参数后docker ps 命令会列出所有容器包括那些已经停止或处于退出状态的容器。除了和 docker ps 相同的基本信息外对于已停止的容器你还可以看到它们的退出状态码Exit Code这有助于了解容器为何停止。三 列出本地 Docker 主机上所有镜像docker images四 拉取镜像docker pull {ip}:{port}/xxx/xxx/xx-web:{tag}通过docker pull 从镜像仓库拉取docker镜像后面的tag表示镜像标签用于标识版本或构建号。上面Jenkins每次构建、推送完成后这个tag都会加一五进入指定前后端目录修改tag标签vim start.sh这个进去之后如果没有其他改动的话我们只需要修改最后的tag标签即可。按【a】或者【i】进去编辑状态按【Esc】退出编辑按【:wq】保存并退出六查看当前的文件保险起见我习惯再看一下确认一下修改没问题cat start.sh七停止之前正在运行的 Docker 容器docker stop {id}这个id是前面正在运行的容器的id不需要全部输入我们只需要输入前面几位即可只要能区分出来即可八容器启动示例docker run -d \ --name nginx \ -p 31655:80 \ -v /home/apk:/usr/share/nginx/html \ -v /etc/nginx/conf.d:/etc/nginx/conf.d \ -v /var/log/nginx:/var/log/nginx \ --restartalways \ nginx:1.29.1-alpine这行 Docker 命令是用于启动一个 Nginx 容器的接下来进行详细解释docker run: 创建并启动一个新容器-d: 后台运行容器不占用当前终端--name nginx: 给容器命名为nginx-p 31655:80: 将主机的31655端口映射到容器的80端口-v /home/apk:/usr/share/nginx/html: 格式宿主机目录:容器内目录挂载主机的/home/apk目录到容器的网站根目录即容器内部网站文件存放位置-v /etc/nginx/conf.d:/etc/nginx/conf.d: 挂载主机的Nginx配置目录到容器的配置目录方便修改配置-v /var/log/nginx:/var/log/nginx: 挂载主机的日志目录到容器的日志目录方便查看日志--restartalways: 容器退出时自动重启nginx:1.29.1-alpine: 使用的Nginx镜像版本1.29.1基于Alpine Linux若宿主机没有/etc/nginx/conf.d、/var/log/nginx目录Docker 会自动创建但建议提前手动创建并设置合适权限简单来说这行命令启动了一个Nginx容器它会使用你主机上的/home/apk文件夹作为网站内容使用你主机的/etc/nginx/conf.d作为配置文件日志会保存在主机的/var/log/nginx中。当你访问主机的31655端口时就能看到这个Nginx服务器提供的内容。九docker inspectdocker inspect 用于查看一个已启动的 Docker 容器比如运行 Nginx 的容器在启动时挂载了宿主机的哪些目录或文件。docker inspect 容器名或容器ID在输出结果中查找Mounts字段。该字段会列出所有挂载点包括Source宿主机上的路径目录或文件Destination容器内的挂载路径Mode挂载模式如rw、ro等Type挂载类型通常是bind或volume输出示例片段Mounts: [ { Type: bind, Source: /host/nginx/conf, Destination: /etc/nginx, Mode: rw, RW: true, Propagation: rprivate }, { Type: bind, Source: /host/nginx/html, Destination: /usr/share/nginx/html, Mode: ro, RW: false, Propagation: rprivate } ]十脚本启动可以把上面的docker run 写进脚本然后每次执行脚本即可进入我们指定的前后端目录下然后执行sh start.sh还有个docker start 命令因为我平时都是直接用sh start.sh十一查看日志如果部署完成后发现系统进不去或者有其他报错等问题我们可以执行docker logs -f {id} // 实时查看最近100条日志 docker logs --tail 100 -f 容器名或容器ID十二删除容器docker rm {id}十三删除镜像docker rmi {id}十四进入容器内部进行调试、查看文件docker exec -it {id} sh docker exec -it {id} /bin/bash十五单镜像打包为tar# 基础格式 docker save -o [输出文件名].tar [镜像名]:[标签] # 示例 docker save -o /tmp/web.tar 10.12.2.22:30003/electricity/patrol-api:30十六将打包的镜像.tar导入docker环境docker load -i /path/to/myimages.tar加载完成后Docker 会列出所有被加载的镜像的信息包括它们的名称和标签。十七启动和运行在docker-compose.yml文件中定义的一组容器docker-compose up -d根据当前目录下的docker-compose.yml(或docker-compose.yaml) 文件的配置自动拉取/构建所需的镜像创建并启动所有定义的服务容器并让这些容器在后台守护进程模式运行。更多linux相关的命令可以去看我另一篇博文linux常用命令以上这些基本就是我自己平时常用的一些命令了平时在我们公司部署已经够用了咱也不是专业的运维之类的咱就是一名普通的前端开发者这些也够用了这篇也是仅供参考哈~