记一次Docker生产环境搭建的方法
什么是Docker?
Docker是一个开源的应用程序容器引擎,可以轻松地在各种操作系统上创建、部署和运行应用程序。与传统的虚拟机不同,Docker容器不需要完整的操作系统,因此启动时间和资源消耗都很少。
Docker环境搭建
在一台服务器上搭建Docker生产环境,需要以下步骤:
- 安装Docker引擎
- 安装Docker Compose
- 配置Docker Compose文件
步骤1:安装Docker引擎
以下是在Ubuntu 18.04上安装Docker引擎的教程:
- 更新软件仓库
sudo apt-get update
- 安装依赖软件包以允许apt使用HTTPS源
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
- 添加Docker官方GPG秘钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 添加Docker的APT源
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是否安装成功
sudo docker --version
步骤2:安装Docker Compose
以下是在Ubuntu 18.04上安装Docker Compose的教程:
- 在Github上下载最新的Docker Compose二进制文件
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 为文件添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
- 验证Docker Compose是否安装成功
docker-compose --version
步骤3:配置Docker Compose文件
以下是Docker Compose文件示例,用于在Docker容器中运行一个简单的web应用程序
version: '3'
services:
web:
build: .
ports:
- "80:80"
volumes:
- ./app:/app
deploy:
replicas: 2
resources:
limits:
cpus: '0.1'
memory: 50M
restart_policy:
condition: on-failure
在该示例中,Docker Compose定义了一个服务,名称为web,使用本地文件夹app内的文件进行构建,将容器监听的端口80映射到主机的端口80,并在需要时自动重启容器。
Docker使用
完成Docker环境搭建后,可以使用Docker快速地建立、运行和销毁容器以及存储卷、网络和镜像。下面是两个Docker使用示例。
示例1:在Docker中运行MySQL
在Docker中运行MySQL,你需要使用MySQL的镜像并配置好Docker Compose。
Docker Compose文件示例:
version: '3'
services:
db:
image: mysql:5.7
volumes:
- ./data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: test
MYSQL_USER: test
MYSQL_PASSWORD: test
ports:
- "3306:3306"
在db服务中,我们使用了MySQL的镜像并指定了容器监听的端口为3306,将本地文件夹./data映射到容器的/var/lib/mysql目录中,提供持久化存储,以及设置了MySQL的root账户和test账户的密码。
使用以下命令启动MySQL容器
docker-compose up -d
示例2:使用Docker搭建Ghost博客
Ghost是一个优秀的开源博客系统,可以使用Docker快速搭建。
Docker Compose文件示例:
version: '3'
services:
ghost:
image: ghost
restart: always
ports:
- "80:2368"
environment:
url: http://example.com
volumes:
- /data/ghost/content:/var/lib/ghost/content
在该示例中,我们使用Ghost的镜像并将容器的端口2368映射到主机的80端口,以便在浏览器中访问Ghost博客,此外还将/var/lib/ghost/content映射到主机的/data/ghost/content文件夹中,以提供持久化存储。
使用以下命令启动Ghost容器
docker-compose up -d
总结
本文介绍了Docker生产环境搭建的三个基本步骤,以及两个在Docker中运行MySQL和Ghost的示例。使用Docker可以轻松构建各种应用程序并提供可靠性和稳定性,同时还可以提高开发和部署效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:记一次Docker生产环境搭建的方法 - Python技术站