美文网首页
Docker实战系列(2)-镜像与容器

Docker实战系列(2)-镜像与容器

作者: Kevin_Luo | 来源:发表于2019-07-30 11:11 被阅读0次

镜像相关

  • 镜像的构建主要有commit 方式或 build 方式 , DockerFile暂不在此章讲解
  • commit 方式的流程为:
    查找镜像->拉取镜像到本地->运行镜像->进入容器内部修改容器->制作镜像—>把镜像打标签->推送镜像到远程仓库
  • 镜像的查找
Docker search 镜像名称
  • 镜像的拉取
//默认拉取该镜像的 latest 版本
Docker search 镜像ID
//拉取特定版本
Docker search 镜像ID:TAG
  • 查看本地镜像列表
Docker images
  • 删除镜像
#如果删除的是正在运行的镜像,需先停止并且删除容器后才能删除镜像
Docker rmi  镜像ID
  • 镜像的制作
Docker commit -a "qianshic.com" -m "my image 1.0" 容器名称或id 打包的镜像名称:标签
  • 各参数值的解释

    • -a:提交的镜像作者;
    • -c:使用 Dockerfile 指令来创建镜像;
    • -m:提交时的说明文字;
    • -p :在 commit 时,将容器暂停
  • 给镜像打标签

 Docker tag 镜像ID 远程仓库地址/镜像名:标签
  • 把镜像推送到远程仓库
Docker push 远程仓库地址/镜像名:标签

容器相关

  • 运行中的镜像称之为容器 , 容器相关知识主要有容器的运行、停止、删除、进入容器内部
  • 容器的运行
Docker run [参数列表] 镜像名称 [COMMAND] [ARG...]
  • 参数列表的比较常用取值有:

    • -d:后台运行容器,并返回容器 ID;
    • -i:以交互模式运行容器,通常与 -t 同时使用;
    • -p:端口映射,格式为:主机(宿主)端口:容器端口
    • -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    • --name="Nginx-lb":为容器指定一个名称;
    • --net="bridge":指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
    • --link=[]:添加链接到另一个容器;
    • -v ::挂载一个容器目录到宿主机中。
  • 如: 后台运行一个容器并且随机分配

Docker run -d -P linuxserver/Nginx 一个端口
  • 后台运行一个 Tomcat 容器并把容器 8080 端口映射到宿主机器上的 8010 端口,这样外部即可通过 8010 端口访问到该容器服务程序。
Docker run -d -p 8010:8080 Tomcat 

后台运行一个 Tomcat 容器并且把容器 8080 端口映射到宿主机器上的 8010 端口,命名为 Tomcat-for-my,并且把 Tomcat 中的 Webapps 和 logs 挂载到宿主机 /var 目录下。

Docker run -d -p 8010:8080 --name Tomcat-for-my -v /var/Tomcat-for-my/Webapps:/usr/local/Tomcat/Webapps -v /var/Tomcat-for-my/logs:/usr/local/Tomcat/logs Tomcat
  • 启动容器
Docker container start 容器ID或容器名
//或
Docker start  容器ID或容器名
  • 停止容器
Docker container stop 容器ID或容器名
//或
Docker stop  容器ID或容器名
  • 重启容器
Docker container restart 容器ID或容器名
//或
Docker restart  容器ID或容器名
  • 进入容器内部
Docker exec -it 容器ID或容器名 bash  
  • 查看容器实时运行的日志
Docker logs -f -t --tail=行数  容器ID或容器名
  • 查看容器从某个时刻开始的日志
Docker logs -f -t --since="2018-11-28" --tail=10  容器ID或容器名

相关文章

网友评论

      本文标题:Docker实战系列(2)-镜像与容器

      本文链接:https://www.haomeiwen.com/subject/cbegrctx.html