Ubuntu Docker基础
介绍
Docker 是一种开源的容器化平台,允许开发者将应用程序及其依赖项打包到一个轻量级的容器中。这些容器可以在任何支持Docker的环境中运行,确保应用程序在不同环境中的一致性。Ubuntu 是一个广泛使用的Linux发行版,非常适合运行Docker。
在本教程中,我们将介绍如何在Ubuntu上安装Docker,并使用一些基本的Docker命令来管理容器。
安装Docker
在Ubuntu上安装Docker非常简单。首先,确保你的系统是最新的:
sudo apt update
sudo apt upgrade
接下来,安装Docker的依赖项:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
然后,添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
添加Docker的APT仓库:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
最后,安装Docker:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
安装完成后,启动Docker服务并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
验证Docker是否安装成功:
sudo docker --version
你应该会看到类似以下的输出:
Docker version 20.10.12, build e91ed57
基本Docker命令
运行一个容器
要运行一个容器,可以使用 docker run
命令。例如,运行一个简单的 hello-world
容器:
sudo docker run hello-world
你应该会看到类似以下的输出:
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
列出容器
要列出当前正在运行的容器,可以使用 docker ps
命令:
sudo docker ps
要列出所有容器(包括已停止的),可以使用 -a
选项:
sudo docker ps -a
停止和启动容器
要停止一个正在运行的容器,可以使用 docker stop
命令,后面跟上容器的ID或名称:
sudo docker stop <container_id_or_name>
要启动一个已停止的容器,可以使用 docker start
命令:
sudo docker start <container_id_or_name>
删除容器
要删除一个容器,可以使用 docker rm
命令:
sudo docker rm <container_id_or_name>
拉取和推送镜像
要拉取一个Docker镜像,可以使用 docker pull
命令:
sudo docker pull ubuntu
要推送一个镜像到Docker Hub,首先需要登录:
sudo docker login
然后,使用 docker push
命令推送镜像:
sudo docker push <your_dockerhub_username>/<image_name>
实际应用场景
部署一个Web应用
假设你有一个简单的Node.js Web应用,你可以使用Docker来部署它。首先,创建一个 Dockerfile
:
FROM node:14
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "app.js"]
然后,构建Docker镜像:
sudo docker build -t my-node-app .
最后,运行容器:
sudo docker run -p 3000:3000 my-node-app
现在,你可以在浏览器中访问 http://localhost:3000
来查看你的Web应用。
使用Docker Compose
Docker Compose 是一个用于定义和运行多容器Docker应用的工具。假设你有一个包含Web应用和数据库的应用,你可以创建一个 docker-compose.yml
文件:
version: '3'
services:
web:
image: my-node-app
ports:
- "3000:3000"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
然后,使用以下命令启动所有服务:
sudo docker-compose up
总结
在本教程中,我们介绍了如何在Ubuntu上安装Docker,并使用一些基本的Docker命令来管理容器。我们还展示了如何使用Docker部署一个简单的Web应用,以及如何使用Docker Compose来管理多容器应用。
附加资源
练习
- 尝试在Ubuntu上安装Docker,并运行一个
hello-world
容器。 - 创建一个简单的Python应用,并使用Docker部署它。
- 使用Docker Compose部署一个包含Web应用和数据库的多容器应用。