centos 装 docker mysql nodejs nginx
在 CentOS 系统中安装 Docker
- 安装 Docker 的依赖包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加 Docker 的 YUM 软件源:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装 Docker:
sudo yum install -y docker-ce
安装完成后,你可以运行 sudo docker version
来检查 Docker 是否成功安装。
通过 Docker Compose 来管理你的应用程序。
- 下载 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
这里安装的是 Docker Compose 的 1.29.2 版本,你可以根据需要选择不同的版本。
- 将下载的二进制文件添加执行权限:
sudo chmod +x /usr/local/bin/docker-compose
- 创建一个用于存放 Docker Compose 配置文件的文件夹:
mkdir ~/docker-compose
这里创建了一个名为 docker-compose
的文件夹,你可以根据需要自定义文件夹名称。
- 进入
docker-compose
文件夹,并创建一个名为docker-compose.yml
的配置文件:
cd ~/docker-compose
touch docker-compose.yml
- 在
docker-compose.yml
文件中添加如下内容:
version: "3"
services:
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/html:/usr/share/nginx/html
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: mydb
MYSQL_USER: myuser
MYSQL_PASSWORD: mypassword
volumes:
- ./mysql:/var/lib/mysql
nodejs:
image: node:latest
ports:
- "3000:3000"
volumes:
- ./nodejs:/usr/src/app
- /usr/src/app/node_modules
command: npm start
这里创建了三个服务,分别是 nginx、mysql 和 nodejs。其中,nginx 服务将监听主机的 80 端口,并将请求转发到容器内的 Nginx 服务器;mysql 服务将监听主机的 3306 端口,并使用指定的用户名和密码创建一个名为 mydb 的数据库;nodejs 服务将监听主机的 3000 端口,并使用 npm start
命令来启动应用程序。
- 启动 Docker Compose:
docker-compose up -d
其中,-d
参数表示以“守护进程”模式启动容器,也就是在后台运行。
这个命令会根据 docker-compose.yml
中的配置创建容器,并且启动这些容器。这些容器将在同一个网络中,并且可以互相通信。同时,Docker Compose 会在容器启动后打印出各个容器的日志输出,以方便排查问题。
执行完命令后,你可以使用 docker ps
命令来查看正在运行的容器:
docker ps
你应该能够看到 3 个正在运行的容器,分别是 mysql
、nginx
和 nodejs
。
现在,你已经成功使用 Docker Compose 来创建并运行多个容器了。接下来,你可以在 docker-compose.yml
文件中进行更多的配置,比如添加更多的容器、设置环境变量、指定容器的依赖关系等等。