3.docker容器管理

容器是Docker的另一个核心概念,镜像是静态的只读文件,而容器则带有运行时需要的可写文件层。

*创建容器

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

OPTIONS

-a, --attach=[]            是否绑定到标准输入,标准输出和错误
  --add-host=[]              在容器内添加一个主机名到IP的映射关系(通过/etc/hosts文件)
  -c, --cpu-shares=0        允许容器使用CPU资源的相对权重,默认一个容器能用满一个核的CPU
  --cap-add=[]               增加容器的Linux指定安全能力
  --cap-drop=[]              移除容器的Linux指定安全能力
  --cgroup-parent=           容器cgroup限制的创建路径
  --cidfile=                     将容器的ID号写入文件
  --cpuset-cpus=            限制容器使用哪些CPU核心
  --device=[]                 映射物理机的设备到容器内
  --dns=[]                     自定义dns服务器
  --dns-search=[]            设置 dns搜索域
  -e, --env=[]               设置容器内环境变量
  --entrypoint=              覆盖镜像中默认的ENTRYPOINT指令
  --env-file=[]                从文件中读取环境变量到容器内
  --expose=[]                暴漏一个或一组端口
  -h, --hostname=           指定容器的主机名
  
  -i, --interactive=false   保持标准输入打开(常搭配-t使用)
  --ipc=                     容器IPC命名空间
  -l, --label=[]             以键值对方式指定容器的标签信息
  --label-file=[]            从文件中读取标签信息
  --link=[]                  添加另一个容器的链接
  --log-driver=             指定容器的日志驱动类型,可以为json-file,syslog,journald等
  
  -m, --memory=             限制容器使用内存和交换区的总大小
  --mac-address=             指定容器的mac地址
  --memory-swap=             限制容器使用内存和交换内存的总大小, 设置'-1' 为禁用交换内存
  --name=                       为容器分配一个名字
  --net=bridge                为容器设置桥接模式
  -P, --publish-all=false    Publish all exposed ports to random ports通过NAT机制将容器标记暴漏的端口自动映射到本地主机的临时端口
  -p, --publish=[]           指定如何映射到本机端口
  --pid=                      指定容器的pid命名空间
  --privileged=true|false       是否给容器以高权限,这意味着容器内应用将不受权限下限制,默认为false  
  --read-only=false          是否挂在容器文件系统为只读
  --restart=no               容器的重启策略,包括no,on-failure,always,unless-stopped
  --security-opt=[]          指定一些安全参数,包括权限,安全能力等
  -t, --tty=false            是否分配一个伪终端(交互模式)
  -u, --user=                以什么身份运行 (format: <name|uid>[:<group|gid>])
  --ulimit=[]                 通过此选项限制最大文件数,最大进程等
  -v, --volume=[]            绑定一个数据卷
  --volumes-from=[]          从某个容器绑定数据卷
  -w, --workdir=             容器的默认工作目录

*启动/停止容器

docker start/stop container

docker kill 会直接发送SIGKILL信号强制终止容器

*新建并启动容器

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

docker run的options跟docker create一样,在此不再赘述

docker run -it ubuntu /bin/bash

用户可以按exit或者Ctrl+d退出

-d 以守护态运行

获取守护态容器的输出信息,可用

docker logs container

*连接容器

docker attach container

exec命令

docker exec -it container command arg...

docker exec -it ubuntu /bin/bash

*查看容器运行状态

docker logs container

 -f, --follow=false       跟随日志输出

  -t, --timestamps=false    输出日志输出
  --tail=x                      显示多少行   

*删除容器

docker rm [OPTIONS] CONTAINER [COMMAND] ARG...

    -f, --force=false      强制删除运行中的容器(发送SIGKILL)
  
  -l, --link=false       删除容器所有的连接,但保留容器
  -v, --volumes=false    删除容器挂载的数据卷

*导出容器     

docker export [-o name] CONTAINER

导入容器

docker import [OPTIONS] URL|- [REPOSITORY[:TAG]]

猜你喜欢

转载自www.cnblogs.com/soulmates/p/9239012.html
今日推荐