1、为什么需要docker-compose?
之前运行一个镜像,需要添加大量的参数,可以通过Docker-Compose编写这些参数。而且Docker-Compose可以帮助我们批量的管理容器。这些信息只需要通过一个docker-compose.yml文件去维护即可。
2、在使用docker-compose之前,我们现需要下载docker-compse,可自行去git-hub下载,为了方便,我已下载好放在了百度云上。如下:
链接:https://pan.baidu.com/s/1ZxLRkBkkFdk5iBLRaQM_jg
提取码:fwr7
3、将下载好的文件放到linux服务器上的usr/local上,如图:
4、为了方便操作,将docker-compose-Linux-x86_64 进行一系列如下操作:
mv docker-compose-Linux-x86_64 docker-compose 将docker-compose-Linux-x86_64改名为docker-compose
chmod 777 docker-compose 将文件修改为可执行文件
mv docker-compose bin 将docker-compose放到bin目录里
vi /etc/profile 配置环境变量,将如下代码放到最后:
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:/usr/local/bin:$PATH
source /etc/profile 重新加载配置
配置完如上操作后,就可以在任意目录下使用docker--compose了,如图:
version: '3.1'
services:
mysql: #服务的名称
restart: always #代表只要docker启动,那么这个容器就跟着一起启动
image: daocloud.io/library/mysql:5.7.4 #指定镜像路径
container_name: mysql #指定容器名称
ports:
- 3306:3386 #指定端口号的映射
environment:
MYSQL_ROOT_PASSWORD: root #指定MySQL的ROOT用户登录密码
TZ: Asia/Shanghai #指定时区
volumes:
- /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql #映射数据卷
tomcat:
restart: always
image: daocloud.io/library/tomcat:8.5.15-jre8
container_name: tomcat
ports:
- 8080:8880
environment:
TZ: Asia/Shanghai
volumes:
- /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps
- /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs
6、在服务器的相应的路径下创建文件夹如:/haijin/docker_mysql_tomcat/
vi docker-compose
输入上面的指令。
常用的命令:
docker-compose up -d 启动
docker-compose down 关闭并删除容器
docker-compose start l stop | restart 开启|关闭|重启已经存在的由docker-compose维护的容器
docker-compose ps 查看由docker-compose管理的容器
docker-compose logs -f 查看日志
注意使用命令需要在docker-compose同级的目录下。
docker的镜像仓库:
2022-03-05:
参考文章
2022-03-15
安装:
官网:
https://docs.docker.com/compose/
官方安装文档:
https://docs.docker.com/compose/install/
1、下载:
官方地址:
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
国内加速地址(官方是从github下载,如下载失败,使用此地址):
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2. 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
3. 验证
[root@localhost ~]# docker-compose --version
docker-compose version 1.29.2, build 5becea4c
如果验证时命令找不到,请添加软链接:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
卸载:
直接删除即可
sudo rm /usr/local/bin/docker-compose
compose常用命令:
docker-compose -h # 查看帮助
docker-compose up # 启动所有docker-compose服务
docker-compose up -d # 启动所有docker-compose服务并后台运行
docker-compose down # 停止并删除容器、网络、卷、镜像。
docker-compose exec yml里面的服务id # 进入容器实例内部 docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
docker-compose ps # 展示当前docker-compose编排过的运行的所有容器
docker-compose top # 展示当前docker-compose编排过的容器进程
docker-compose logs yml里面的服务id # 查看容器输出日志
docker-compose config # 检查配置
docker-compose config -q # 检查配置,有问题才有输出
docker-compose restart # 重启服务
docker-compose start # 启动服务
docker-compose stop # 停止服务
搭建一个Wordpress网站
本案例来自官方:
https://docs.docker.com/samples/wordpress/
1、 创建并进入项目目录
mkdir my_wordpress
cd my_wordpress/
2、创建 docker-compose.yml 文件,内容如下:
version: "3.9"
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wordpress_data:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
wordpress_data: {}
3、启动
[root@localhost my_wordpress]# docker-compose up -d # 启动
Creating network "my_wordpress_default" with the default driver # 创建 my_wordpress_default 网络
Creating volume "my_wordpress_db_data" with default driver # 创建 my_wordpress_db_data 数据卷
Creating volume "my_wordpress_wordpress_data" with default driver # 创建 my_wordpress_wordpress_data 数据卷
Pulling db (mysql:5.7)... # 拉 mysql:5.7 镜像
5.7: Pulling from library/mysql
72a69066d2fe: Pull complete
93619dbc5b36: Pull complete
99da31dd6142: Pull complete
626033c43d70: Pull complete
37d5d7efb64e: Pull complete
ac563158d721: Pull complete
d2ba16033dad: Pull complete
0ceb82207cd7: Pull complete
37f2405cae96: Pull complete
e2482e017e53: Pull complete
70deed891d42: Pull complete
Digest: sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94
Status: Downloaded newer image for mysql:5.7
Pulling wordpress (wordpress:latest)... # 拉 wordpress:latest 镜像
latest: Pulling from library/wordpress
a2abf6c4d29d: Pull complete
c5608244554d: Pull complete
2d07066487a0: Pull complete
1b6dfaf1958c: Pull complete
32c5e6a60073: Pull complete
90cf855b27cc: Pull complete
8b0f1068c586: Pull complete
5355461305e8: Pull complete
ad1eec592342: Pull complete
e03fbc76cb78: Pull complete
1f5796e48b39: Pull complete
72fbe8e1d4e7: Pull complete
96edece66175: Pull complete
5f46f0743de2: Pull complete
c9f9671a5e1f: Pull complete
3f543dcd35b1: Pull complete
c88e21a0c2a0: Pull complete
964b4457a910: Pull complete
0d55fb9a64ef: Pull complete
fb009ff7c567: Pull complete
4f058a67a50d: Pull complete
Digest: sha256:fc33b796b04162a0db2e9ea9b4c361a07058b21597b1317ad9ab3ea4593de241
Status: Downloaded newer image for wordpress:latest
Creating my_wordpress_db_1 ... done
Creating my_wordpress_wordpress_1 ... done
4、访问
http://192.168.92.146:8000/ 即可看到后台设置页面,选择 简体中文 继续
填入 站点标题、用户名、密码、电子邮箱,点击安装Wordpress