docker-应用部署

发布时间 2023-04-13 20:25:20作者: ERROR404Notfound

1.mysql部署


#  将data路径、配置文件路径、配置文件分别映射到容器中。但是我们目前没有文件夹,首先在home路径下创建文件夹:
mkdir /home/mysql
mkdir /home/mysql/conf.d
mkdir /home/mysql/data/
#  然后创建my.cnf并且编辑,将以下内容复制进去并且保存:
[client]
default-character-set=utf8
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000

然后将配置文件进行映射:

docker run  -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 1434:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
#  冒号后面的为容器上的路径

image
image
当我们在本地操作增加一个库,这个库也会同步到data目录下:
image
image
进入到该mysql容器中:

docker exec -it 0f840dff7e69 /bin/bash

进入到mysql中:

mysql -uroot -p123456

image
然后我们现在先停止,再删除容器。但是当我进入到/home/mysql/data目录下,我们的数据文件(库、表)都还在:

docker stop 0f840dff7e69  # 停止容器
docker rm 0f840dff7e69  # 删除容器

image
这时我们只需要重新执行上面的命令,执行同样的配置,再次开启一个容器,做好目录映射,数据都还在:
image
image

2.nginx部署

1.拉取并且运行镜像

docker run -id --name nginx -p 80:80 nginx

image