| docker 镜像管理常用命令 |
| 命令 | 示意 |
|---|---|
| docker help | 查看docker帮助 |
| docker image --help | 查看 docker中 镜像相关帮助 |
| docker image ls | 查看当前所有镜像 |
| docker image inspect nginx | 查看指定镜像(nginx镜像)详细信息 |
| docker pull nginx:1.14 | 下载指定版本镜像 nginx |
| docker image rm nginx:1.14 | 删除nginx 1.14版本 |
| docker image save nginx > nginx.tar | 导出niginx镜像 |
| docker创建容器常用命令 |
| docker run 常用参数 |
|---|
| 命令 | 示意 |
|---|---|
| -d: | 后台运行容器,并返回容器ID; |
| -i: | 以交互模式运行容器,通常与 -t 同时使用; |
| -t: | 为容器重新分配一个伪输入终端,通常与 -i 同时使用; |
| -P: | 随机端口映射,容器内部端口随机映射到主机的高端口 |
| -p: | 指定端口映射,格式为:主机(宿主)端口:容器端口 |
| –name=“nginx-lb”: | 为容器指定一个名称; |
| –dns 8.8.8.8: | 指定容器使用的DNS服务器,默认和宿主一致; |
| docker run 其他参数 |
|---|
| 命令 | 示意 |
|---|---|
| –dns-search example.com: | 指定容器DNS搜索域名,默认和宿主一致; |
| -h “mars”: | 指定容器的hostname; |
| -e username=“ritchie”: | 设置环境变量; |
| –env-file=[]: | 从指定文件读入环境变量; |
| –cpuset=“0-2” or --cpuset=“0,1,2”: | 绑定容器到指定CPU运行; |
| -m : | 设置容器使用内存最大值; |
| –net=“bridge”: | 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型; |
| –link=[]: | 添加链接到另一个容器; |
| –expose=[]: | 开放一个端口或一组端口; |
| –volume , -v: | 绑定一个卷 |
| -a stdin: | 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项; |
| docker run | 其他参数 |
| 命令 | 示意 |
|---|---|
| docker run --help | 查看创建容器帮助 |
| docker run -it centos | 创建centos镜像并进入终端 |
| docker run -d nginx | 后台启动nginx容器 |
| docker stop 6bb09dce461f | 关闭一个容器 |
| docker ps -l | 查看最近运行的容器 |
| docker run -itd centos | 启用一个伪终端守护centos容器 |
| docker container run -d --name web3 -e test=123456 -p 8800:80 -h webhostname --restart always nginx | |
| -d | 后台启动nginx容器 |
| –name web3 | 自定义容器名字(默认会是一段随机字符串) |
| -e test=123456 | 启动容器添加变量 test=123456 (echo $test) |
| -p 8800:80 | 宿主机的8800端口映射到docker容器的80端口中 |
| -h webhostname | docker容器主机名 (a300f394af88) |
| –restart always | 宿主机重启自动拉起这个docker容器 |
| nginx | 使用这个nginx镜像启动容器 |
| docker logs web | 查看上面启动的web容器的日志 |
| docker exec -it web bash | 进入容器web |
容器资源限制
-
内存限额: 允许容器最多使用500M内存和100M的Swap,并禁用 OOM Killer
docker run -d --name nginx03 --memory=“500m” --memory-swap=“600m” --oom-kill-disable nginx -
CPU限额:
docker run -d --name nginx04 --cpus=“1.5” nginx # 允许容器最多使用一个半的CPU
docker run -d --name nginx05 --cpus=".5" nginx # 允许容器最多使用50%的CPU
| docker 管理 容器常用命令 |
| 命令 | 示意 |
|---|---|
| docker ps | 仅列出当前运行的容器 |
| docker ps -l | 列出最新创建得容器 |
| docker ps -a | 列出素有容器(包括 未运行的) |
| docker inspect web4 | 列出指定容器的详细信息 |
| 持久化容器 |
|---|
| docker exec -it web4 bash | 进入容器web4中 |
|---|---|
| touch 1.txt 2.txt | 对容器进行修改 |
| docker commit web4 nginx:web4 | 将修改后的web4容器提交为一个新镜像 nginx:web4 |
| docker images | 可以看到 多了一个 TAG标记为 web4 的镜像 |
| docker run -d --name web4-1 nginx:web4 | 使用刚刚提交的镜像web4创建一个容器web4-1 |
| docker exec -it web4-1 bash | 进入web4-1的bash环境 |
| 从宿主机复制文件到docker容器 |
|---|
| docker cp nginx.tar web4-1:/home | 将宿主机nginx.tar文件拷贝到容器web4-1的/home目录中 |
|---|---|
| docker exec -it web4-1 ls /home | 在容器web4-1中执行 “ls /home” 命令 |
| 容器常用查询命令 |
|---|
| docker logs web4-1 | 查看web4-1中控制台日志 |
|---|---|
| docker port 55f870061ed9 | 查看指定容器端口映射 |
| docker top 00f7ddc96622 | 查看容器中有哪些进程 |
| docker stats 00f7ddc96622 | 查看容器资源使用情况 |
| 启动、停止、删除 容器 |
|---|
| docker ps -a | 列出素有容器(包括 未运行的) |
|---|---|
| docker start web | 启动容器web |
| docker stop web | 停止容器web |
| docker rm web | 删除容器 |