⑤--rm : 停止容器后会直接删除容器 , 这个参数在测试是很有用 , 如docker run -d -p 80:80 --rm nginx
⑥--name : 给容器起个名字 , 否则会出现一长串的自定义名称如 docker run -name niginx -d -p 80:80 - nginx
列出容器 Docker ps这个命令可以列出当前运行的容器 , 使用-a参数后列出所有的容器(包括已停止的)
文章插图
停止容器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/文章插图
访问报错 , 这时候就进入宿主机的日志目录/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
再次访问浏览器地址文章插图
4.Dockerfile我们可以使用Dockfile构建一个镜像 , 然后直接在docker中运行 。Dockerfile文件为一个文本文件 , 里面包含构建镜像所需的所有的命令 , 首先我们来认识一下Dockerfile文件中几个重要的指令 。
指令详解
- FROM选择一个基础镜像 , 然后在基础镜像上进行修改 , 比如构建一个SpringBoot项目的镜像 , 就需要选择JAVA这个基础镜像 , FROM需要作为Dockerfile中的第一条指令如:FROM openjdk:8-jdk-alpine 基础镜像如果可以的话最好使用alpine版本的 , 采用alpline版本的基础镜像构建出来的镜像会小很多 。
- RUNRUN指令用来执行命令行命令的 。它有以下两种格式:
- shell 格式:RUN <命令> , 就像直接在命令行中输入的命令一样 。RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
推荐阅读
- 自制冰红茶,冰红茶的功效与作用
- 菊花绿茶,种菊花绿茶的制备方法与流程
- 青柑普洱茶,青柑普洱茶的功效与作用
- 薰衣草干花作用,薰衣草功效与作用
- 芙蓉花茶,芙蓉花茶的功效与作用
- 茶道音乐,茶道入门基础知识
- 白酒中的老酒与年份酒有什么区别?
- 茶道体验,茶道基础知识
- 黑茶作用,黑茶的功效与作用
- 绿茶加枸杞,决明子菊花茶加枸杞的功效与作用及禁忌
- shell 格式:RUN <命令> , 就像直接在命令行中输入的命令一样 。RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html