docker 基本使用
-
登录指定仓库
docker login -u 登录名 -p 密码 仓库地址
-
拉去镜像
docker pull 镜像名称:tag
-
上传镜像
docker push 镜像名称:tag
-
查看本地镜像
docker images
-
删除本地镜像
docker rmi 镜像ID/名称
-
构建镜像
最简单构建命令.
表示会在当前路径下查找Dockerfile,相当于-f Dockerfile
:
docker build -t 镜像名称:tag .
-
查看本地容器
只查看运行中的docker ps
查看所有容器docker ps -a
-
启动容器
后台启动docker run -d 镜像名称:tag
带命令的后台启动docker run -d 镜像名称:tag 命令
交互模式启动docker run -it 镜像名称:tag /bin/bash
OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--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=[]: 开放一个端口或一组端口;
-
进入正在运行的容器
docker exec -it 容器ID/名称 /bin/bash
-
启动已停止的容器
docker start 容器ID/名称
启动所有容器
docker start $(docker ps -a -q)
-
停止正在运行的容器
docker stop 容器ID/名称
停止所有容器
docker stop $(docker ps -a -q)
-
删除本地容器
docker rm 容器ID/名称
删除所有容器
docker rm $(docker ps -a -q)
-
查看网络
docker network ls
-
创建网络
docker network create --subnet=192.168.1.1/16 网络名称
-
删除网络
docker network remove 网络名称
-
查看容器IP
- 若容器支持ifconfig命令, 则直接
ifconfig
查看即可 - 进入容器内部后输入
cat /etc/hosts
- 若容器支持ifconfig命令, 则直接
-
拷贝文件/文件夹
从容器拷贝到本机docker cp dd6e661ef4b9:/root/.pip /root/
从本机拷贝到容器docker cp /root/.pip dd6e661ef4b9:/root/
-
把容器打包成镜像
docker commit 容器ID/名称 镜像名称:tag
-
查看日志
docker logs 容器ID/名称
查看指定时间后的日志,只显示最后100行
$ docker logs -f -t --since="2018-01-01" --tail=100 CONTAINER_ID
查看最近30分钟的日志:
$ docker logs --since 30m CONTAINER_ID
查看某时间之后的日志:
$ docker logs -t --since="2018-01-01T13:40:40" CONTAINER_ID
查看某时间段日志:
$ docker logs -t --since="2018-01-01T13:40:40" --until "2018-02-09T12:23:37" CONTAINER_ID
-
导入/导出镜像
导入:
docker save 镜像名称 -o D:/test.tar
导出:
docker load -i test.tar