Docker容器配置

docker run --name study -v /Users/ackerman/Projects/study:/var/www/study -p 80:80 -p 3306:3306 -p 2222:22 -d ubuntu-lnmp:18.04

 

· --name study 是创建一个名字为 study 的容器

· -v /Users/ackerman/Projects/study:/var/www/study 是将本地的 /Users/ackerman/Projects/study 和 容器中的 /var/www/study 进行映射

· -p 是对端口进行映射 ,分别是 http,MySQL,SSH

· -d 容器后台运行

· ubuntu-lnmp:18.04 就是选择的环境

 

docker ps  查看目前正在运行的容器

docker ps -a 查看本机中所有的容器 (包括没有运行的)

 

docker rm study  删除名字为 study 的容器

 

dokcer exec -it study bash  进入容器内部进行操作,study 是容器名字

 

cd /etc/nginx/sites-available

 

vim study  对文件进行修改

 

Nginx 配置如下

 server {
     listen 80;
     root /var/www/blog/public;
     index index.php;
     server_name blog.local;

     location / {
         try_files $uri $uri/ /index.php?$query_string;
     }
     location ~\.php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
     }

     location ~/\.ht {
         deny all;
     }
 }

 

cd /etc/nginx/sites-enabled 

 

ln -s /etc/nginx/sites-available/study study 建立一个软连接到当前到 enabled 目录中

 

nginx -s reload 重载

 

 

 

与 MySQL 数据库建立连接

首先需要先建立一个 mysql 的容器

create database ackerman default character set utf8mb4 collate utf8mb4_unicode_ci;
CREATE USER 'ackerman'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
grant all privileges on ackerman.* to 'ackerman'@'%';
flush privileges;

这样配置之后我们就可以利用 ackerman 这个用户名去访问数据库了

mysql -uackerman -p123456

 

然后我们再需要创建一个容器去连接我们之前创建的 mysql001 容器

docker run --name study -v /Users/ackerman/Projects/study:/var/www/study -p 80:80 -p 3306:3306 -p 2222:22 --link mysql001 -d ubuntu-lnmp:18.04

采用下面的方法即可以访问数据库

mysql -hmysql001 -uackerman -p123456

 

 

 

 

posted @ 2021-01-09 21:36  _Ackerman  阅读(466)  评论(0编辑  收藏  举报