搞定环境一致性神器:Linux 环境下 Docker 新手入门全攻略
搞定环境一致性神器:Linux 环境下 Docker 新手入门全攻略
在 Linux 下进行开发,你是否经常遇到“在我的电脑上能跑,换台机器就报错”的尴尬?或者为了配置一个复杂的环境,折腾了大半天还满屏依赖冲突?Docker 就是解决这些痛点的终极利器。它能把应用及其所有依赖打包成一个轻量级、可移植的“集装箱”(容器),实现真正的“一次构建,到处运行”。
本文将带你从零开始,在 Linux 环境下彻底玩转 Docker,打通从安装配置到实战部署的全链路。
第一步:极速安装 Docker
在 Linux(以 Ubuntu 为例)上安装 Docker 非常简单。官方提供了一个极其方便的自动化安装脚本,只需两行命令即可完成安装:
curl-fsSLhttps://get.docker.com-oget-docker.shsudoshget-docker.sh安装完成后,你可以通过docker --version来查看版本号,确认是否安装成功。
第二步:免 sudo 权限与配置国内镜像加速
默认情况下,执行 Docker 命令需要加上sudo,非常繁琐。我们可以把当前用户加入docker用户组来解决这个问题:
sudousermod-aGdocker$USERnewgrpdocker# 重新加载用户组,让配置立即生效此外,由于 Docker 官方的镜像仓库在海外,在国内拉取镜像时速度通常很慢甚至失败。强烈建议配置国内的镜像加速器。在终端执行以下命令,创建并编辑 Docker 的配置文件:
sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<<-'EOF' { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ] } EOFsudosystemctl daemon-reloadsudosystemctl restartdocker配置完成后,Docker 拉取镜像的速度将会有质的飞跃。
第三步:Hello World 与核心概念初探
安装好之后,我们来运行第一个 Docker 容器,验证环境是否正常:
dockerrun hello-world如果终端输出了Hello from Docker!,恭喜你,你的 Docker 已经一切就绪!
在深入之前,你需要理解 Docker 的两个核心概念:
- 镜像 (Image):相当于一个打包好的“系统安装盘”或“软件安装包”,包含了运行应用所需的所有环境(代码、库、环境变量等)。
- 容器 (Container):是镜像运行时的实体。如果把镜像比作“类(Class)”,那么容器就是“对象(Object)”。你可以基于一个镜像启动无数个相互隔离的容器。
第四步:Docker 常用命令“三板斧”
日常开发中,90% 的场景都离不开以下这些核心命令:
1. 镜像管理
docker pull ubuntu:20.04:从仓库拉取一个 Ubuntu 20.04 的镜像。docker images:查看本地已经下载了哪些镜像。docker rmi 镜像ID:删除指定的本地镜像。
2. 容器生命周期管理
docker ps:查看当前正在运行的容器。docker ps -a:查看所有容器(包括已经停止的)。docker stop 容器ID:停止一个正在运行的容器。docker rm 容器ID:删除一个已经停止的容器。
3. 交互式体验容器
你可以随时启动一个临时的 Ubuntu 容器,并在里面执行 Linux 命令,体验完全隔离的环境:
dockerrun-it--rmubuntu:latestbash-it:以交互模式运行,并分配一个伪终端。--rm:当你退出容器(输入exit)时,自动销毁该容器,不留垃圾。bash:进入容器后执行的命令,这里表示进入命令行界面。
第五步:实战演练——一键部署 Nginx 网页服务器
理论讲再多不如动手做一次。我们来实战部署一个 Nginx Web 服务器,体验 Docker 的强大:
dockerrun-d-p8080:80--namemy-nginx nginx-d:让容器在后台运行(守护态)。-p 8080:80:端口映射,将你宿主机的 8080 端口映射到容器内部的 80 端口。--name my-nginx:给这个容器起个名字叫my-nginx。nginx:Docker 会自动去拉取官方的 Nginx 镜像并启动它。
命令执行后,打开你 Linux 的浏览器(或者在同一局域网下的其他设备浏览器),访问http://localhost:8080,你就能看到 Nginx 经典的 “Welcome to nginx!” 欢迎页面了!
如果你想查看这个容器的运行日志,可以使用docker logs my-nginx;想进入容器内部修改配置文件,可以使用docker exec -it my-nginx bash。
结语
从极速安装、配置加速,到理解镜像与容器的关系,再到一键部署 Nginx 服务,你已经掌握了 Linux 环境下 Docker 最核心的基础操作。Docker 不仅能帮你彻底解决环境配置的痛点,更是你未来学习微服务、云原生技术的必经之路。赶快打开终端,用 Docker 开启你的容器化开发之旅吧!
