Ubuntu15.10安装docker和docker-compose教程
本文将介绍在Ubuntu15.10上安装docker和docker-compose的详细步骤。并且附带两个实例说明如何使用docker和docker-compose。
步骤1:安装Docker
首先,我们需要安装Docker。按照以下步骤进行操作:
- 更新软件包列表和依赖关系
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 设置Docker稳定版存储库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 安装Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
- 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker
现在,Docker已经安装并运行在您的系统上。您可以通过以下命令检查其状态:
sudo systemctl status docker
步骤2:安装Docker Compose
Docker Compose是用于定义和运行多容器Docker应用程序的工具。您可以按照以下步骤来安装它:
- 下载Docker Compose二进制文件
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 将可执行权限应用于二进制文件
sudo chmod +x /usr/local/bin/docker-compose
- 验证安装是否成功
docker-compose --version
如果成功安装,您将看到安装的版本号。
现在,您已准备好使用Docker Compose编排和管理多容器Docker应用程序。
示例1:使用Docker构建和运行Python Flask应用程序
接下来,我们将使用Docker Compose来编排和管理两个Docker容器:一个容器运行Python Flask应用程序,另一个容器作为Nginx反向代理。
以下是步骤:
- 创建一个Python Flask应用程序
mkdir myapp
cd myapp
touch app.py
- 在app.py文件中添加以下代码
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(host="0.0.0.0", port=int("5000"), debug=True)
- 创建一个名为Dockerfile的文件,并将以下内容添加到该文件中
# Use an official Python runtime as a parent image
FROM python:3.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
ADD . /app
# Install the required packages
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# Make port 5000 available to the world outside this container
EXPOSE 5000
# Define environment variable
ENV NAME World
# Run app.py
CMD ["python", "app.py"]
- 创建一个名为requirements.txt的文件,并将以下依赖添加到该文件中:flask
Flask
- 创建一个名为docker-compose.yml的文件,并将以下内容添加到该文件中:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
nginx:
image: nginx
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
- web
- 在同一目录中创建一个名为nginx.conf的文件,并将以下内容添加到该文件中
server {
listen 80;
location / {
proxy_pass http://web:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Following is necessary for Websocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
- 使用Docker Compose部署应用程序
docker-compose up
运行完这个命令之后,您可以通过在Web浏览器中输入IP地址来访问Python Flask应用程序:http://your_IP_address。
示例2:使用Docker Compose部署WordPress应用程序
以下是部署WordPress应用程序的步骤:
- 创建一个名为docker-compose.yml的文件,并将以下内容添加到该文件中
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root_password_here
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress_password_here
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress_password_here
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
- 运行Docker Compose
docker-compose up
运行完这个命令之后,您可以通过在Web浏览器中输入IP地址来访问WordPress应用程序:http://your_IP_address。
这就是在Ubuntu15.10上安装Docker和Docker Compose以及使用两个示例的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ubuntu15.10安装docker和docker-compose教程 - Python技术站