2019-07-23 16:48:47  279274 2

docker常用命令使用数据卷以及搭建lnmp环境(二)

 标签:   

docker操作镜像的命令


search   docker search  image    //命令搜索 image  

image   docker  image  --help

pull       docker  image  pull    /  docker  pull   从仓库 拉去镜像

push     docker  image  push    /  docker  push   镜像推送到仓库

ls          docker image ls  / docker images  列出所有镜像

rm         docker image rm  /  docker rmi  删除本地镜像

save     镜像打包成tar文件  docker image save  镜像id  -o  tar文件名

load     tar文件加载镜像  docker image load  –i  tar文件

tag    标记tag  docker image tag  镜像id  nginx:1.16

prune  删除未使用的镜像

build    Dockerfile构建镜像

inspect  查看镜像的详情信息

docker操作容器的命令

docker container  --help

查看容器

ps  ls  list

docker  ps    docker container  ls/ps/list    选项  -a  所有的   -l 最近运行

运行 一个容器


run    docker  run  [OPTIONS] IMAGE [COMMAND] [ARG...]

docker run  /  docker container run     容器运行必须前台有进程运行 否则会退出

选项

-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name:   为容器指定一个名称;
-h:       指定容器的hostname;
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

docker run -d  --name web-6  -p 90:80  nginx

-P: 随机端口映射,容器内部端口随机映射到主机的高端口
--link   添加链接到另一个容器;
--restart   启动docker自动启动  always/no(默认)
-m   --memory   限制使用的最大内存
-cpus   限制使用的cpu数量
-v  绑定数据卷
--mount  挂载文件系统到容器

exec  在容器中执行命令

-i   标准输入
-t  分配伪终端

docker exec -it  容器名/容器id     /bin/bash

logs  查看容器的输出日志
docker  logs  容器名  


stats  查看容器的资源使用
docker  stats  容器名

选项

inspect  查看容器的具体信息


cp  拷贝文件到容器 
docker cp anaconda-ks.cfg   web5:/

top  查看容器运行的进程

stop/start/restart  停止启动容器

rm  删除容器

update 更新容器资源限制

数据卷(data volume)

Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(Data Volume)。数据卷可以用来存储Docker应用的数据,也可以用来在Docker容器间进行数据共享。数据卷呈现给Docker容器的形式就是一个目录,支持多个容器间共享,修改也不会影响镜像。

volume  

选项
create   创建数据卷
inspect  查看
ls           列出数据卷
prune     删除不用的数据卷
rm          移除数据卷

docker volume create  vol_test

第一种方式  -v

docker run -d --name web5 -p 99:80  -v vol_test:/usr/share/nginx/html   nginx


直接执行 自动创建数据卷
docker run -d --name web6 -p 100:80  -v nginx_test:/usr/share/nginx/html  nginx

直接挂载道目录   原来的文件没有了
docker run  -d --name web16  -p 2223:80  -v /home/www:/usr/share/nginx/html  nginx

第二种   --mount

docker run -d  --name web9 -p 1111:80 --mount src=nginx_test,dst=/usr/share/nginx/html  nginx

数据卷的特性

数据卷可以在容器间共享和重用数据
数据卷可以在宿主和容器间共享数据
数据卷数据改变是直接修改的
数据卷的生命周期一直持续到没有容器使用它为止

搭建lnmp环境

docker pull nginx:1.17
docker pull php:7.3-fpm
docker pull mysql:5.7


启动mysql
docker run -d  --name  lnmp_mysql   -e MYSQL_ROOT_PASSWORD=123456   mysql:5.7


启动PHP
docker run -d  --name  lnmp_php  --link lnmp_mysql:mysql  -v /home/www:/usr/share/nginx/html  php:7.3-fpm


启动nginx
docker run -d --name lnmp_nginx -p 80:80  -v /home/www:/usr/share/nginx/html  --link lnmp_php:php  nginx:1.17


nginx配置

location ~ \.php$ {
        root           /usr/share/nginx/html;
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }


容器 安装vim

apt-get update 
apt-get install vim

宿主机查找容器文件

find  /   -name  文件名

安装PHP扩展

docker-php-ext-install    pdo_mysql   mysqli
pecl install  redis    docker-php-ext-enable redis

2 条留言

  1. 匿名用户

    哈哈

给我留言

评论内容