基础命令
docker info #详细查看docker信息docker version #查看版本docker pull (镜像) #下载镜像docker inspect (容器id) #查看容器的信息 IP等docker push (镜像) #上传镜像docker images #查看所以镜像docker image (镜像) #查看单个镜像docker history (镜像) #查看docker镜像的分层docker search (镜像) #查看镜像有那些版本
Docker常用命令
docker images ls #列出镜像
docker build #构建镜像来自Dockerfile
docker history #查看镜像历史
docker inspect #显示一个或多个镜像详细信息
docker pull #从镜像仓库拉取镜像
docker push #推送一个镜像到镜像仓库
docker rm #移除一个或多个镜像
docker rmi #移除一个或多个镜像
docker prune #移除未使用的镜像。没有被标记或被任何容器引用的。
docker tag #创建一个引用源镜像标记目标镜像
docker export #导出容器文件系统到tar归档文
docker import #导入容器文件系统tar归档文件创建镜
docker image save nginx > nginx.tar #保存一个或多个镜像到一个tar归档文
docker -i load nginx < nginx.tar #加载镜像来自tar归档或标准输
docker ps -l #查看最近启动的容器
docker logs 镜像id #查看日志
docker status 镜像id #查看容器限制 (--no-stream静态输出)
Docker启动命令解析
#一个容器必须要有一个前台进程的工作,不存在则退出
#使用run如果在本地没有找到,会去镜像站下载一个镜像,下载完直接启动
docker run -i -t -d 镜像 启动命令 #每一个镜像的启动命令都可能是不一样
-i, –interactive 交互式
-t, –tty 分配一个伪终端
-d, –detach 运行容器到后台
-e, –env 设置环境变量
-p, –publish list 发布容器端口到主机
-P, –publish-all 发布容器所有EXPOSE的端口到宿主机随机端口 #发布一个随机端口给容器
–name string 指定容器名称
-h, –hostname 设置容器主机名
–ip string 指定容器IP,只能用于自定义网络
–network 连接容器到一个网络
–mount mount 将文件系统附加到容器
-v, –volume list 绑定挂载一个卷
–restart string 容器退出时重启策略,默认no,可选值:[always|on-failure]
(always重启操作系统会自动启动镜像) (no-failure误退出会重启镜像--可以设置次数限制)
容器资源限制
-m,–memory 容器可以使用的最大内存量
–memory-swap 允许交换到磁盘的内存量 #不设置swap可以使用memory的两倍
–memory-swappiness=<0-100> 容器使用SWAP分区交换的百分比(0-100,默认为-1)
–oom-kill-disable 禁用OOM Killer
--cpus 可以使用的CPU数量
–cpuset-cpus 限制容器使用特定的CPU核心,如(0-3, 0,1)
–cpu-shares CPU共享(相对权重)
#实例
内存限额:
允许容器最多使用500M内存和100M的Swap,并禁用 OOM Killer:
docker run -d --name nginx03 --memory="500m" --memory-swap=“600m" --oom-kill-disable nginx
CPU限额:
允许容器最多使用一个半的CPU:
docker run -d --name nginx04 --cpus="1.5" nginx
允许容器最多使用50%的CPU:
docker run -d --name nginx05 --cpus=".5" nginx
管理容器常用命令
ls 列出容器
inspect 查看一个或多个容器详细信息
exec 在运行容器中执行命令
commit 创建一个新镜像来自一个容器
cp 拷贝文件/文件夹到一个容器
logs 获取一个容器日志
port 列出或指定容器端口映射
top 显示一个容器运行的进程
stats 显示容器资源使用统计
stop/start/restart 停止/启动一个或多个容器
rm 删除一个或多个容器