1.centos安装docker服务
sudo yum install -y yum-utils
sudo yum-config-manager
--add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
- 配置镜像加速
vi /etc/docker/daemon.josn
{"registry-mirrors":["https://hub-mirror.c.163.com/"]}
镜像分层技术,同类库不重新下载
docker images 列出所有镜像
docker ps 列出所有在运行容器
-a 列出所有容器,包括没有运行的容器
docker rm (container id or container name) 删除容器
docker rmi (image id or image name:image tag latest 可省略) 删除镜像
docker pull (image name:image tag latest 可省略) 安装镜像
docker run -d --name=mynginx -p 80:80/tcp nginx
-d 后台运行
--name 指定容器名称
-p 指定映射端口
-P 随机映射端口
-v 数据挂载
docker exec -it mynginx /bin/bash 进入容器
nginx + php 部署
启动PHP
$ docker run --name myphp-fpm -v ~/nginx/www:/www -d php:5.6-fpm
--name myphp-fpm : 将容器命名为 myphp-fpm
-v ~/nginx/www:/www : 将主机中项目的目录 www 挂载到容器的 /www
mkdir ~/nginx/conf/conf.d
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ .php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}}
启动nginx
docker run --name runoob-php-nginx -p 8080:80 -d -v ~/nginx/www:/usr/share/nginx/html:ro -v ~/nginx/conf/conf.d:/etc/nginx/conf.d:ro --link myphp-fpm:php nginx
-p 8083:80: 端口映射,把 nginx 中的 80 映射到本地的 8083 端口。
~/nginx/www: 是本地 html 文件的存储目录,/usr/share/nginx/html 是容器内 html 文件的存储目录。
~/nginx/conf/conf.d: 是本地 nginx 配置文件的存储目录,/etc/nginx/conf.d 是容器内 nginx 配置文件的存储目录。
--link myphp-fpm:php: 把 myphp-fpm 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm。
mysql
docker pull mysql:5.6 拉取mysql5.6镜像
创建mysql目录
mkdir ~/nginx/mysql/data ~/nginx/mysql/logs ~/nginx/mysql/conf
运行 mysql
docker run -p 3306:3306 --name bdmysql -v ~/nginx/mysql/conf:/etc/mysql -v ~/nginx/mysql/logs:/logs -v ~/nginx/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d --link myphp7.3:php mysql:5.6
安装并运行phpmyadmin
docker run --name dbmyadmin -d --link bdmysql:db -p 8686:80 phpmyadmin/phpmyadmin
- docker-compse安装
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
将可执行权限应用于二进制文件
sudo chmod +x /usr/local/bin/docker-compose
创建软连接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
- Docker Machine 安装
base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&
chmod +x /usr/local/bin/docker-machine
- Docker Machine 创建
centos不支持virtualbox驱动,所以使用generic
需要先创建密钥
ssh-keygen
然后执行
ssh-copy-id root@192.168.5.1 ip为本机地址
最后执行创建主机
docker-machine create -d generic --generic-ip-address=192.168.5.1 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root vm