docker学习之compose

我爱海鲸 2022-09-09 14:18:32 暂无标签

简介docker-compse、Wordpress博客

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上,如图:

undefined

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了,如图:

undefined

5、下面我们使用docker-compose.yml编写,如下:

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的镜像仓库:

http://get.daocloud.io/

 

2022-03-05:

 

参考文章

  docker-compose容器编排

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


 

 

你好:我的2025