序言

使用Dockercompose,我们可以获得Docker的所有用处docker compose 教程,甚至更多(最至少单机多实例,我们可以使用同一个端口,这样以便我们管理实例)。Docker通过创建一个虚拟环境(或容器)来运行代码。DockerCompose添加的是多个容器的编排和组织。其实本教程只会为MySQL实例创建一个容器,并且当您的项目开始下降时,DockerCompose也可以同时运行您所有的各类服务。

我们此次使用ubuntu来做个实验。

安装docker

sudo apt-get update
安装依赖包
sudo apt-get install 
apt-transport-https 
ca-certificates 
curl 
software-properties-common

docker compose 教程_教程是什么意思_教程之家

curl -fsSL | sudo apt-key add - sudo apt-key fingerprint 0EBFCD88

如下输出:

pub4096R/0EBFCD882017-02-22Keyfingerprint=9DC858229FC7DD38854AE2D88D81803C0EBFCD88uidDockerRelease(CEdeb)sub4096R/F273FCD82017-02-22

安装

sudo apt-get update && sudo apt-get install docker-ce
 

下载dockercompose

sudo curl -L " -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose
 

查看版本

docker-compose version 1.22.0, build 1719ceb
 

确认完成后,我们创建一个称作docker-compose.yml的文件。之后编撰如下内容:

version: '3.3'services: 
 db: 
 image: mysql:5.7 
  restart : always 
 environment: 
 MYSQL_DATABASE: 'db' 
 # So you don't have to use root, but you can if you like 
 MYSQL_USER: 'user' 
 # You can use whatever password you like 
 MYSQL_PASSWORD: 'password' 
 # Password for root access 
 MYSQL_ROOT_PASSWORD: 'password' 
 ports: 
 #  :  
 - '3306:3306' expose: 
 # Opens port 3306 on the container 
 - '3306' # Where our data will be persisted 
 volumes: 
 - my-db:/ var /lib/mysql
# Names our volume
 volumes: 
 my-db:
 

保存文件,我们在compose.yml相同目录下linux修改文件名,运行docker-composeup。可能时间比较慢,由于须要pull容器。完成后,我们可以看见端口3306启动了。

OK,一个mysql实例就启动了。假如我们想定义其他的值,只须要更改docker-compose.yml就可以了。

我们也可以使用几行配置来在docker中运行postgresql

下边是最简单的配置文件

version: '3.3'services: 
 db: 
 image: postgres 
 restart: always 
 environment: 
 POSTGRES_PASSWORD: password
 

docker compose 教程_教程之家_教程是什么意思

我们可以看见dockercompose提供了一个灵活的和可配置的数据库运行环境。

清除

清除容器很简单,只须要运行如下命令

docker-compose down
docker system prune -a
docker volume prune
 

使用Dockercomposition,我们可以在安全、隔离的环境中运行一个容器化数据库,同时依然就能立刻修改数据库的类型。除此之外,在小型项目中,我们可以充分借助Docker一次组合和编排所有不同的服务。正如您所听到的,我们只须要复制/粘贴一个YAML文件并运行docker-up,便于拥有一个完全可操作的开发数据库。

其实,简单的运行一个mysql服务是容易的。并且,假如要运行到生产环境还须要大量的有针对的测试。我在项目中就遇见过mysql总是omm的情况。并且在数学机环境就没有,之后我调优了大量的参数docker compose 教程linux操作系统下载,才解决了这个问题。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复