Docker是个啥?简单来说,它就像是一个“打包神器”。你可以把你的程序、代码、运行环境(比如Python、Java、数据库之类的)全部打包成一个“盒子”,然后这个“盒子”可以放到任何地方运行,不用担心环境问题。这就像是你把一个玩具打包好,不管带到哪里,都能拿出来玩,而且不会坏。
为啥要用Docker呢?因为它能解决“在我电脑上能运行,但到你电脑上就报错”的问题。有了Docker,不管你用什么电脑,只要安装了Docker,就能运行这个“盒子”里的程序,超级方便!
如果你用的是Windows或Mac,去Docker官网下载Docker Desktop。安装过程超级简单,一路“下一步”就行。安装完后,重启电脑,然后打开Docker Desktop,看到鲸鱼图标在任务栏或菜单栏上,就说明安装成功啦!
如果你用的是Linux,打开终端,运行以下命令来安装Docker:
bash复制
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
sudo usermod -aG docker $USER
安装完后,重启电脑,然后在终端输入docker --version
,看到版本号就说明安装成功啦!
Docker的核心是“容器”,你可以把它理解为一个独立的小盒子。容器里面可以运行你的程序,而不会影响到外面的系统。现在,我们来运行一个最简单的容器。
Docker里的“镜像”就像是一个模板,包含了运行环境和程序。我们先从Docker Hub(一个镜像仓库)拉取一个简单的镜像。打开终端,输入以下命令:
bash复制
docker pull hello-world
这个命令会从Docker Hub下载一个名为hello-world
的镜像。这个镜像非常小,下载很快。
下载完镜像后,输入以下命令运行一个容器:
bash复制
docker run hello-world
如果一切顺利,你会在终端看到一段欢迎信息,恭喜你,你的第一个Docker容器运行成功啦!这个hello-world
容器只是一个简单的示例,但它展示了Docker的基本用法。
现在我们来干点更有意思的事:用Docker运行一个Web服务。我们用一个叫nginx
的Web服务器来演示。
在终端输入以下命令:
bash复制
docker pull nginx
这个命令会从Docker Hub下载一个包含Nginx的镜像。
输入以下命令运行Nginx容器:
bash复制
docker run -d -p 80:80 nginx
这里解释一下命令的意思:
-d
:让容器在后台运行,不会占用你的终端。
-p 80:80
:把容器内部的80端口映射到你电脑的80端口,这样你就可以通过浏览器访问它了。
打开浏览器,输入http://localhost
,你会看到一个Nginx的默认欢迎页面。哇哦,是不是很神奇?你刚刚用Docker运行了一个Web服务!
现在,我们来创建一个自己的Docker镜像。比如,我们想运行一个简单的Python Flask应用。
先在你的电脑上创建一个文件夹,比如叫my-flask-app
,然后在里面创建一个app.py
文件,内容如下:
Python复制
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, Docker!"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
这个代码很简单,就是一个用Flask写的Web应用,访问根路径会返回“Hello, Docker!”。
在my-flask-app
文件夹里,创建一个叫Dockerfile
的文件(注意没有扩展名),内容如下:
dockerfile复制
# 基于Python镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 复制当前文件夹的内容到容器的工作目录
COPY . /app
# 安装依赖
RUN pip install flask
# 指定容器启动时运行的命令
CMD ["python", "app.py"]
这个Dockerfile
告诉Docker怎么打包你的应用。
在终端,进入my-flask-app
文件夹,运行以下命令构建镜像:
bash复制
docker build -t my-flask-app .
-t my-flask-app
是给镜像起个名字,方便后面使用。
运行以下命令启动容器:
bash复制
docker run -d -p 5000:5000 my-flask-app
访问http://localhost:5000
,你会看到“Hello, Docker!”,恭喜你,你的第一个自定义Docker应用运行成功啦!
Docker是不是很神奇?它能帮你轻松打包和运行程序,再也不用担心环境问题啦!今天咱们从零开始,学会了:
安装Docker。
运行简单的容器。
创建自己的Docker镜像并运行。
这只是Docker的冰山一角,它还有很多强大的功能,比如容器编排(Docker Compose)、部署到服务器等等。如果你对这些感兴趣,可以继续探索。别怕,Docker其实很简单,只要你动手实践,很快就能掌握!
加油,你也能成为Docker大神!
公众号:周盛欢AI