1 docker的使用
一、基础
1、镜像
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
"https://hub.littlediary.cn"
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://dockerhub.azk8s.cn",
"https://mirror.ccs.tencentyun.com",
"https://registry.cn-hangzhou.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.m.daocloud.io",
"https://noohub.ru",
"https://huecker.io",
"https://dockerhub.timeweb.cloud"
]
|
2、进入容器
1
|
docker exec -it php-fpm bash
|
3、清除缓存
二
1、构建项目
1
|
docker-compose up --build
|
2、重新构建项目
1
2
3
4
5
6
7
8
|
# 清理旧镜像缓存(重要!)
docker builder prune --force
# 重新构建
docker build -t laravel52-app .
# 运行容器
docker run -it -p 8000:8000 laravel52-app
|
三、启动
1、启动第一个docker项目
1
2
|
docker build -t hello-docker .
docker run hello-docker
|
2、启动默认教程的容器
1
|
docker run -d -p 8090:80 docker/getting-started
|
3、启动laravel项目
1
|
php artisan serve --host=0.0.0.0
|
2 docker运行laravel5全流程
1、拉取 PHP 7.0.0 镜像
1
|
docker pull php:7.0-cli
|
2、运行容器
1
|
docker run -itd --name my-php-container -p 8000:8000 php:7.0-cli
|
3、进入容器进行操作
1
|
docker exec -it my-php-container bash
|
4、(额外)启动、停止、删除容器
1
|
docker run/stop/rm my-php-container
|
5、(额外)保存更改
如果在容器中进行了配置更改或安装了额外的软件包,可以将容器保存为新的镜像。
1
|
docker commit my-php-container php:custom-7.0.0
|
6、配置环境
1
2
3
4
5
6
7
8
|
# 替换软件源
echo > /etc/apt/sources.list
1、echo "deb [trusted=yes] http://mirrors.tuna.tsinghua.edu.cn/debian buster main contrib non-free" >/etc/apt/sources.list
2、echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free" >>/etc/apt/sources.list
3、echo "deb http://security.debian.org/debian-security buster/updates main contrib non-free" >>/etc/apt/sources.list
|
1、在宿主机上下载 Composer 安装脚本
1
|
wget https://install.phpcomposer.com/installer -O composer-setup.php
|
2、将脚本复制到容器
1
|
docker cp composer-setup.php my_container:/tmp/composer-setup.php
|
3、在容器中安装 Composer
1
2
3
|
docker exec -it my_container bash
php /tmp/composer-setup.php
mv composer.phar /usr/local/bin/composer
|
4、安装必要php拓展
mongodb拓展版本为1.5.0可以启动
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# 更新软件包
apt-get update
# 下载拓展,要有以下拓展方可运行
PS C:\Users> php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
gd
gettext
gmp
hash
iconv
imap
intl
json
ldap
libxml
mbstring
mcrypt
mongodb
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib
[Zend Modules]
|
7、文件复制进容器
1
|
docker cp "D:\Misc\Docker\code\dns_web\." my-php-container:/var/www/html
|
8、运行项目
1
2
3
4
|
docker exec -it my-php-container bash
cd /var/www/html/...
composer install
php artisan serve --host=0.0.0.0
|
做出修改后使用以下命令将文件更新 – 此步骤应由挂载卷来操作,此法不方便
1
|
docker cp "D:/Misc/Docker/code/dns_web/." my-php-container:/var/www/html/code/dns_web
|