下面我来给你详细讲解“详解ubuntu下安装Docker”的完整攻略,并提供两条示例说明。
准备工作
在安装 Docker 之前,我们需要先升级服务器的软件包,以确保拥有最新版本的软件包信息:
sudo apt-get update
sudo apt-get upgrade
安装 Docker
接下来,我们需要在 Ubuntu 服务器上安装 Docker。通过运行下列命令可以安装最新版本的 Docker:
sudo apt-get install docker.io
此外,我们还需要配置 Docker 用户组以便于众多的拥有者能够访问 Docker 命令。
sudo usermod -aG docker ${USER}
为使配置更改生效,退出 ssh 并重新登录。完成上述步骤后,您的 Ubuntu 服务器就成功安装了 Docker。
部署 Docker
Docker 联合标准了很多容器类型,例如:Swarm, Kubernetes 和 Nomad。为了部署 Docker,我们可以通过如下步骤完成:
sudo docker run hello-world
默认情况下,Docker 会从 Docker Registry 中下载并启动 hello-world
Docker 容器,其输出如下所示:
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
示例
示例一:创建一个 Web 应用程序容器
本示例将演示如何使用 Docker 构建和运行一个简单的 Web 应用程序。假设我们有一个名为 my-web-app
的 Web 应用程序,该应用程序需要运行在 Web 服务器上,这个过程就由 Docker 来管理。
- 构建 Docker 镜像
首先,我们需要在项目目录下创建一个 Dockerfile 文件,用于定义 Docker 镜像。在 Dockerfile 中,我们可以指定项目所依赖的 Docker 镜像、配置应用程序环境,并设定启动命令。在此示例中,我们可以创建一个简单的 Dockerfile,内容如下:
FROM python:3-alpine
WORKDIR /app
COPY . /app
RUN pip install Flask
EXPOSE 5000
CMD ["python", "app.py"]
上述 Dockerfile 从 Alpine Linux 的官方 Python 3 镜像构建 Docker 镜像,安装 Flask 库,并将当前目录添加到容器中。在容器构建完成后,以容器开放端口 5000 并运行 app.py
。
当 Dockerfile 文件准备就绪后,我们可以使用以下命令从 Dockerfile 构建一个 Docker 镜像:
sudo docker build -t my-web-app .
该命令从当前目录构建镜像,命名为 my-web-app
。
- 运行 Docker 镜像
Docker 镜像构建完成后,我们可以通过以下命令启动 Docker 容器:
sudo docker run -d -p 5000:5000 my-web-app
该命令运行 Docker 容器,并将容器 API 映射到本地主机端口 5000。运行时,Docker 将启动 Flask 应用程序并在容器中运行。通过以下网址,您可以检查 Web 应用程序是否启动正常:
http://localhost:5000
示例二:使用 MySQL 数据库容器
本示例将演示如何使用 Docker 运行一个简单的 MySQL 数据库容器。我们将在 Docker 镜像中预先安装 MySQL 数据库,并设置默认数据库和用户。
- 构建 Docker 镜像
在此示例中,我们可以使用 MySQL 官方 Docker 镜像。首先,我们需要创建一个用于构建镜像的 Dockerfile 文件,内容如下:
FROM mysql:5.7
ENV MYSQL_DATABASE=my-db \
MYSQL_USER=my-user \
MYSQL_PASSWORD=my-pass \
MYSQL_ROOT_PASSWORD=my-root-pass
COPY mysql.cnf /etc/mysql/conf.d/mysql.cnf
上述 Dockerfile 文件默认安装 MySQL 5.7 版本,设置几个环境变量并复制配置文件。我们在容器中预设了 my-db
数据库,my-user
用户和对应的密码。
此外,我们还复制了 mysql.cnf
文件,配置了数据库操作的线程数等参数:
[mysqld]
max_connections=200
当 Dockerfile 文件准备就绪后,我们可以使用以下命令从 Dockerfile 构建一个 Docker 镜像:
sudo docker build -t my-mysql-db .
- 运行 Docker 镜像
Docker 镜像构建完成后,我们可以通过以下命令启动 Docker 容器:
sudo docker run -d -p 3306:3306 --name my-mysql my-mysql-db
该命令运行 Docker 容器,并将容器 API 映射到本地主机端口 3306。运行时,Docker 将启动 MySQL 数据库。接下来,我们可以使用以下命令检查容器是否启动成功:
sudo docker ps
如果成功启动容器,我们将看到类似下列信息:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a986ad25584d my-mysql-db "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 0.0.0.0:3306->3306/tcp my-mysql
在启动容器之后,我们可以通过 MySQL 交互模式检查容器的设置:
sudo docker exec -it my-mysql mysql -u my-user -p
输入密码并登录后,您可以检查其默认数据库是否存在:
show databases;
总结
以上就是在 Ubuntu 系统下安装和部署 Docker 的完整攻略,以及两个示例说明。希望本文能对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解ubuntu下安装Docker - Python技术站