作者:手机用户2502940275 | 来源:互联网 | 2023-05-16 06:47
查找镜像
$>docker search ${imagename}
拉取镜像
$>docker pull <镜像名:tag>
//例如
$>docker pull asdc/centos6.7
查看所有镜像
$>docker images
删除镜像
$>docker rmi <镜像名称>
$>docker rmi $(docker rmi $(docker images | awk '{print $3}' | awk '{a[NR]=$0}END{for(i=2;i))
启动容器
$>docker run -d -v /opt/nginx/tengine.conf:/usr/local/nginx/conf/nginx.conf -p 80:80 --name=nginx nginx
$>docker run -i -t ubuntu /bin/bash <镜像名称>
-a=map[]:附加标准输入、输出或者错误输出 -c=0:共享CPU格式(相对重要) -cidfile="":将容器的ID标识写入 -d=false:分离模式,在后台运行容器,并且打印出容器ID -e=[]:设置环境变量 -h="":容器的主机名称 -i=false: 保持输入流开放即使没有附加输入流 -privileged=false: 给容器扩展的权限 -m="": 内存限制 (格式: unit>, unit单位 = b, k, m or g -n=true: 允许镜像使用网络 -p=[]: 匹配镜像内的网络端口号 -rm=false:当容器退出时自动删除容器 (不能跟 -d一起使用) -t=false: 分配一个伪造的终端输入 -u="": 用户名或者ID -dns=[]: 自定义容器的DNS服务器 -v=[]: 创建一个挂载绑定:[host-dir]:[container-dir]:[rw|ro].如果容器目录丢失,docker会创建一个新的卷 -volumes-from="": 挂载容器所有的卷 -entrypoint="": 覆盖镜像设置默认的入口点 -w="": 工作目录内的容器 -lxc-cOnf=[]: 添加自定义-lxc-cOnf="lxc.cgroup.cpuset.cpus = 0,1" -sig-proxy=true: 代理接收所有进程信号(even in non-tty mode) -expose=[]: 让你主机没有开放的端口 -link="": 连接到另一个容器(name:alias) -name="": 分配容器的名称,如果没有指定就会随机生成一个 -P=false: Publish all exposed ports to thehost interfaces 公布所有显示的端口主机接口
停止、启动、杀死一个容器
$>docker stop <容器名orID>
$>docker start<容器名orID>
$>docker kill <容器名orID>
修改提交镜像
$>docker run -i -t training/sinatra /bin/bash
$>gem install json
$>docker commit -m "Add json gem" -a "Docker Author" <容器ID> <新镜像名称>
一个容器连接到另一个容器(父子链接)
$>docker run -i -t --name <容器名> -d -link mongodb:db <镜像名>
迁移镜像
$>docker save busybox-1 > /home/save.tar
docker load </home/save.tar