安装docker
https://www.runoob.com/docker/centos-docker-install.html
容器的使用
https://www.runoob.com/docker/docker-container-usage.html
启动docker
sudo systemctl start docker
Docker安装一般程序的过程记录,以mysql为例
1.拉取 MySQL 镜像,最新版
docker pull mysql:latest
#也可以指定版本docker pull mysql:5.6
2.查看本地镜像
docker images
3.运行容器
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
参数说明:
--name mysql-test 容器的名称
-p 3306:3306 映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
-e MYSQL_ROOT_PASSWORD=123456 配置参数 设置 MySQL 服务 root 用户的密码。
docker run 的 -i -t -d参数说明
Options | Mean |
---|---|
-i | 以交互模式运行容器,通常与 -t 同时使用; |
-t | 为容器重新分配一个伪输入终端,通常与 -i 同时使用; |
-d | 后台运行容器,并返回容器ID; |
4.使用 docker start 启动一个已停止的容器
docker start b750bbbcfd88
5.重启一个容器(最后一段是容器的name,也可以用容器id)
docker restart nginx-test9
6.删除容器
docker rm -f 1e560fca3906
7.创建一个nginx的容器
docker run --name nginx-test9 -p 8089:80 -v /home/lnmp/nginx/conf:/etc/nginx/conf.d -v /home/lnmp/nginx/www:/usr/share/nginx/html -d nginx
参数说明:
--name nginx-test9 起别名
-p 8089:80 端口映射,即访问电脑的8089端口会转到当前容器的80端口
-v /home/lnmp/nginx/conf:/etc/nginx/conf.d 文件夹映射 相当于把前面的文件夹“/home/lnmp/nginx/conf”替换容器内的这个文件夹“/etc/nginx/conf.d”,这个文件夹是nginx镜像创建容器之后的配置文件所在目录; /home/lnmp/nginx/www:/usr/share/nginx/html,这段是替换web目录,nginx的web目录可以通过conf目录的default.conf文件配置
-d 在后台运行
nginx 指的镜像名称
default.conf配置文件参考
server {
listen 80;
listen [::]:80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html; #这里定义默认的web目录
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 172.17.0.4:9000; #这里指的是PHP的调用地址,前面是PHP容器的id,后面是PHP监听的端口
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name; #这里配置的是PHP的www目录,$后面的是变量,应该指的是原始的访问路径,即通过nginx的端口访问的后缀为php的文件会执行php容器的/www下面的文件
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
参考地址https://www.kancloud.cn/wyj0309/docker/533561
https://blog.csdn.net/a516972602/article/details/86376990/