Docker 基础与实战,看这一篇就够了( 二 )


⑤--rm : 停止容器后会直接删除容器 , 这个参数在测试是很有用 , 如docker run -d -p 80:80 --rm nginx
⑥--name : 给容器起个名字 , 否则会出现一长串的自定义名称如 docker run -name niginx -d -p 80:80 - nginx
列出容器 Docker ps这个命令可以列出当前运行的容器 , 使用-a参数后列出所有的容器(包括已停止的)

Docker 基础与实战,看这一篇就够了

文章插图
停止容器docker stopdocker stop 5d034c6ea010 后面跟的是容器ID , 也可以使用容器名称
启动停止的容器Docker startdocker run是新建容器并启动 , docker start 是启动停止的容器,如Docker start 5d034c6ea010
重启容器Docker restart此命令执行的过程实际是先执行docker stop,然后再执行docker start , 如Docker restart 5d034c6ea010
进入容器Docker exec -it 容器id /bin/bash如Docker exec -it 5d034c6ea010 /bin/bash,就相当于进入了容器本身的操作系统
删除容器Docker rm如Docker rm 5d034c6ea010 后面跟的是容器ID,删除容器之前需要先停止容器运行
数据拷贝Docker cp此命令用于容器与宿主机之间进行数据拷贝,如Docker cp 5d034c6ea010: /etc/nginx/nginx.conf /dockerData/nginx/conf/nginx.conf 将容器的目录文件拷贝到宿主机指定位置,容器ID可以替换成容器名 。
 
命令实战如果我们需要一个nginx容器 , 并且需要在宿主机上直接修改nginx的配置文件、默认主页 , 在宿主机可以实时看到容器nginx的日志 。我们可以按照如下的方式一步一步完成 。
使用--rm参数启动容器 , 方便删除docker run -d -p 8081:80 --name nginx --rm nginx
进入容器 , 查看容器中配置文件、项目文件、日志文件的目录地址docker exec -it 9123b67e428e /bin/bash
导出容器的配置文件docker cp nginx:/etc/nginx/nginx.conf /dockerData/nginx/conf/nginx.conf导出配置文件 nginx.confdocker cp nginx:/etc/nginx/conf.d /dockerData/nginx/conf/conf.d导出配置目录 conf.d
停止容器docker stop 9123b67e428e , 由于加了--rm参数 , 容器会自动删除
再以如下命令启动容器 , 完成目录挂载
docker run -d -p 8081:80 --name nginx-v /dockerData/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /dockerData/nginx/conf/conf.d:/etc/nginx/conf.d -v /dockerData/nginx/www:/usr/share/nginx/html -v /dockerData/nginx/logs:/var/log/nginx nginx【Docker 基础与实战,看这一篇就够了】访问服务器地址http://192.168.136.129:8081/
Docker 基础与实战,看这一篇就够了

文章插图
访问报错 , 这时候就进入宿主机的日志目录/dockerData/nginx/logs查看日志
2019/11/23 10:08:11 [error] 6#6: *1 directory index of "/usr/share/nginx/html/" is forbidden, client: 192.168.136.1, server: localhost, request: "GET / HTTP/1.1", host: "192.168.136.129:8081"
因为/usr/share/nginx/html/被挂载到了服务器上面的/dockerData/nginx/www目录下 , 原来的欢迎页面在dockerData/nginx/www是没有的 , 所有就报错了 , 这里我们随便建一个 。
建立默认主页
#打开项目文件cd /dockerData/nginx/www#使用vim 创建并编辑文件vi index.html#此时我们会进入vim界面 , 按 i 插入 , 然后输入<h1 align="center">Hello,Welcome to Docker World</h1>#输入完后 , 按 esc , 然后输入 :wq再次访问浏览器地址
Docker 基础与实战,看这一篇就够了

文章插图
4.Dockerfile我们可以使用Dockfile构建一个镜像 , 然后直接在docker中运行 。Dockerfile文件为一个文本文件 , 里面包含构建镜像所需的所有的命令 , 首先我们来认识一下Dockerfile文件中几个重要的指令 。
 
指令详解