Docker实战-使用docker compose搭建博客

docker run 部署

创建blog网络

bash 复制代码
[root@k8s-master ~]# docker network create blog
8f533a5a1ec65eae3f98c0ae5a76014a3ab1bf3c087ad952cdc100cc7a658948
[root@k8s-master ~]#  docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
8f533a5a1ec6   blog      bridge    local
6c444ff0e0fc   bridge    bridge    local
7172dc5dc9d3   host      host      local
5451367be09b   none      null      local

创建MySQL容器

bash 复制代码
[root@k8s-master ~]# docker run -d -p 3306:3306 \
> -e MYSQL_ROOT_PASSWORD=123456 \
> -e MYSQL_DATABASE=wordpress \
> -v mysql-data:/var/lib/mysql \
> --restart always --name mysql \
> --network blog \
> mysql:8.0
Unable to find image 'mysql:8.0' locally
8.0: Pulling from library/mysql
43759093d4f6: Pull complete 
126d8d3809b3: Pull complete 
157a7408a55d: Pull complete 
c405af89949f: Pull complete 
c92147eb3382: Pull complete 
b3ec9882b976: Pull complete 
ad072341f26b: Pull complete 
bda7c2eca56f: Pull complete 
b6b5c46ac97d: Pull complete 
8cd34fa224e6: Pull complete 
b4144aa75def: Pull complete 
Digest: sha256:50b5ee0656a2caea76506fe702b1baddabe204cf3ab34c03752d2d7cd8ad83fc
Status: Downloaded newer image for mysql:8.0
1f0d309d07db2e0bed62868a43bcff0fcb811d0507317efbffa3d6d77bf9f53b

创建wordpress容器

bash 复制代码
[root@k8s-master ~]# docker run -d -p 8080:80 \
>     -e WORDPRESS_DB_HOST=mysql \
>     -e WORDPRESS_DB_USER=root \
>     -e WORDPRESS_DB_PASSWORD=123456 \
>     -e WORDPRESS_DB_NAME=wordpress \
>     -v wordpress:/var/www/html \
>     --restart always --name wordpress-app \
>     --network blog \
>     wordpress:latest
Unable to find image 'wordpress:latest' locally
latest: Pulling from library/wordpress
c29f5b76f736: Pull complete 
814b6ecb84b0: Pull complete 
a4e58aa84c36: Pull complete 
b545bb7ff18e: Pull complete 
8ca47539e139: Pull complete 
ea823f46cc3c: Pull complete 
bcbecb454049: Pull complete 
68d70c2b9fc9: Pull complete 
b9903ecbcf0b: Pull complete 
f473bcbd0e44: Pull complete 
d8b79b64a9d5: Pull complete 
5c36aa47b3f5: Pull complete 
c6834909cd19: Pull complete 
4f4fb700ef54: Pull complete 
beeeb2e72514: Pull complete 
b7fd27be5b20: Pull complete 
1475f50d3e62: Pull complete 
5ac3fe5e5e7e: Pull complete 
e2a530cb2e77: Pull complete 
ed50d9a76bab: Pull complete 
08dc3bd6914b: Pull complete 
63eaf96fd2ee: Pull complete 
Digest: sha256:0211348df9f5e29a32cb6a65ec5aff2c2e775670fdb054ab98f7833eb539234a
Status: Downloaded newer image for wordpress:latest
3435c46b6bb674a92881e7644ce5ebb94b1b11ad36d815467628bca594e2b28e

查看运行的容器

bash 复制代码
[root@k8s-master ~]# docker ps
CONTAINER ID   IMAGE                                                             COMMAND                  CREATED          STATUS          PORTS                               NAMES
3435c46b6bb6   wordpress:latest                                                  "docker-entrypoint.s..."   26 minutes ago   Up 26 minutes   0.0.0.0:8080->80/tcp                wordpress-app
1f0d309d07db   mysql:8.0                                                         "docker-entrypoint.s..."   34 minutes ago   Up 33 minutes   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

docker-compose部署

docker-compose安装

bash 复制代码
sudo yum install -y python3 python3-pip
sudo pip3 install virtualenv
virtualenv venv
source venv/bin/activate
pip install docker-compose
bash 复制代码
[root@k8s-master ~]# cat docker_compose.yaml 
version: '3.8'  
services:
  mysql:
    image: mysql:8.0
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_DATABASE=wordpress
    volumes:
      - mysql-data:/var/data/mysql  
      - /app/myconf:/etc/mysql/conf.d
    restart: always
    networks:
      - blog

  wordpress:
    image: wordpress
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: mysql
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: 123456
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress:/var/www/html
    restart: always
    networks:  
      - blog
    depends_on:
      - mysql

volumes:
  mysql-data:
  wordpress:

networks:
  blog:
           
[root@k8s-master ~]# docker compose -f docker_compose.yaml up -d 

相关推荐
土豆沒加13 分钟前
ubuntu22.04使用minikube安装k8s
云原生·容器·kubernetes
心随_风动17 分钟前
CentOS 下安装和配置 HTTPD 服务的详细指南
linux·运维·centos
信阳农夫21 分钟前
centos 7只能安装到3.6.8
linux·运维·centos
猫吃了源码1 小时前
KubeKey一键安装部署k8s集群和KubeSphere详细教程
云原生·容器·kubernetes
你可以叫我仔哥呀1 小时前
k8s学习记录:环境搭建(基于Kubeadmin)
学习·容器·kubernetes
TT-Kun2 小时前
Linux | 进程控制(进程终止与进程等待)
linux·运维·服务器
...:...:...2 小时前
Linux 第三次脚本作业
linux·运维·服务器
容器魔方2 小时前
KubeEdge社区2025年需求征集
云原生·容器·云计算
Abdullah al-Sa3 小时前
Docker教程(喂饭级!)
c++·人工智能·docker·容器
web2u3 小时前
Docker入门及基本概念
java·运维·服务器·spring·docker·容器