博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker学习笔记(一)
阅读量:5249 次
发布时间:2019-06-14

本文共 2896 字,大约阅读时间需要 9 分钟。

基础命令

  • 启动容器: docker run -dit ubuntu
  • 查看建立的容器: dokcer inspect
  • 自定义容器名:
dokcer run --name=自定义名 -i -t IMAGE /bin/bash
  • 重新启动停止的容器:docker start [-i] 容器名。 -i是以交互的方式启动停止的容器
  • 删除已经停止的容器:docker rm 容器名

守护式容器

* 能够长期运行* 没有交互式会话* 适合运行应用程序和服务
  • 以守护式运行容器:
docker run -i -t IMAGE /bin/bash同时按ctrl+P和ctrl+q //退出后容器在后台运行
  • 附加到运行中的容器:docker attach 容器名
  • 启动守护式容器:
//-d 使用后台的方式来执行命令docker run -d 镜像名 [COMMAND] [ARG...]
  • 查看容器日志:
docker logs [-f] [-t] [--tail] 容器名    -f --follows=true|false 默认false    -t timestamps=true|false 默认false    --tail="all"
  • 查看容器内进程:
docker top 容器名
  • 在运行中的容器内启动新进程:
docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]
  • 停止守护式容器:

    备注:重启容器后容器的ip和端口映射都会发生改变。

docker stop 容器名 //发送一个信号给容器,等待停止docker kill 容器名 //直接停止容器

设置容器的映射端口

端口映射

run [-P] [-p]//将为容器暴露的所有端口进行映射-P,publish-all=true | false 默认为false    docker run -P -i-t ubuntu /bin/bash    //指定映射端口-p,--publish=[]containerPort //只制定容器的端口(宿主机的端口是随机映射的)    docker run -p 8080:80 -i -t ubuntu /bin/bashhostPort:containnerPort //同时指定宿主机的端口和容器的端口(一一对应)    docker run -p 8080:80 -i -t ubuntu /bin/bash    ip::containerPort //指定ip和容器的端口    docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash    ip:hostPort:containerPort //ip、宿主机端口和容器端口都进行指定    docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash

查看端口映射

dokcer port 容器名

练习:在容器中部署静态网站

//创建映射80端口的交互式容器docker run -p 80 --name=web -i -t b2ab0ed558bb /bin/bash    //安装Nginxyum install -y nginx//安装文本编辑器vimyum install vim//验证网站访问docker port web //查看端口

镜像

  • 列出镜像
docker images [OPTSIONS][REPOSITORY]        -a,--all=false  //默认不显示中间层的镜像        -f,--filter=[]  //显示时的过滤条件        --no-trunc=false  //不使用截断的形式来显示数据(默认会截断唯一id)        -q,--quiet=false  //只显示镜像的唯一id
  • 镜像的仓库

REPOSITORY 仓库 镜像的集合

  • TAG 标签 默认使用latest标签

  • 查看镜像的详细信息(inspect也支持容器的查看)

docker inspect [OPTIONS]CONTAINER|IMAGE[CONTAINER|IMAGE...]    -f,format=""
  • 删除镜像
docker rmi [OPTIONS]IMAGE[IMAGE...]    -f,--force=false 强制删除镜像    --no-prune=false 会保留被删镜像中被打标签的父镜像

获取和推送镜像

  • 查找镜像

    Docker Hub

    https://registry.hub.docker.com
    docker search [OPTIONS]TERM    --automated=false    --no-trunc=false     -s,--stars=0
  • 拉取镜像

    docker pull [OPTIONS] NAME[:TAG]    -a,all-tags=false 下载全部标记的镜像
  • 推送镜像

    docker push NAME[:TAG]

构建镜像

保存对容器的修改,并再次使用

自定义镜像的能力
以软件的形式打包并分发服务及其运行环境

  • 通过容器构建

会暂停正在使用的容器

```docker commit [OPTIONS] CONTAINER [REPOSITORY][:TAG]    -a,--author=""  镜像的作者    -m,-message="" 镜像构建的信息    -p,--pause=true 可以不暂停正在使用的容器```
  • 通过Dockerfile文件构建
    1. 创建Dockerfile文件

    2. 运行docker build命令

    docker build [OPTIONS] PATH | URL | -    --force-rm=false    --no-cache=false    -pull==false    -q,--quiet=false    --rm=true    -t,--tag=""
    ### dockerC/S模式
    006tNc79ly1g1tbggmcy8j317s0nsnbb.jpg
    006tNc79ly1g1tbg4n0arj317e0e01ft.jpg

Remote API

  • RESTful风格API
  • STDIN、STDOUT、STDERR

    006tNc79ly1g1tbfr9f67j317g0ewx25.jpg

  • Docker官方的Remote APO Reference:

连接方式(客户端与服务端的守护进程)

006tNc79ly1g1tbf671nlj316o0c2qet.jpg

  • unix://var/run/docker.sock
  • tcp://host:port
  • fd://socketfd

Docker守护进程的配置和操作

  • 查看守护进程

    ps -ef |grep dockersudo status docker
  • 使用service命令管理

    启动sudo service docker start停止sudo service docker stop重启sudo service docker restart

转载于:https://www.cnblogs.com/zuoruining/p/10810750.html

你可能感兴趣的文章
SIRO Challenge 状态压缩 + DP 未解
查看>>
【语文学习资料】议论文专题学案-复习向
查看>>
Linux中查看端口占用情况
查看>>
爱改名的小融(三部曲)
查看>>
Java web之servlet
查看>>
掌握4个有效的数据分析要点,切实解决用户痛点
查看>>
ListView和Adapter数据适配器的简单介绍
查看>>
一次ddos攻击
查看>>
junit4单元测试基础
查看>>
java string
查看>>
验证组件FluentValidation的使用示例
查看>>
0320-学习进度条
查看>>
JAVA跨域CORS
查看>>
正确的在循环list的时候删除list里面的元素
查看>>
ERP渠道文档详细和修改(二十五)
查看>>
C#正则Groups高级使用方法
查看>>
对copy、mutableCopy理解
查看>>
java基础--接口
查看>>
9.依赖(Dependence)
查看>>
Spring3.0 Could not find acceptable representation 解决方案
查看>>