image
搜索image
1 |
|
获取image
从 Docker 镜像仓库获取镜像的命令是 docker pull
。其命令格式为:
1 |
|
具体的选项可以通过 docker pull --help
命令看到,这里我们说一下镜像名称的格式。
- Docker 镜像仓库地址:地址的格式一般是
<域名/IP>[:端口号]
。默认地址是 Docker Hub(docker.io
)。 - 仓库名:如之前所说,这里的仓库名是两段式名称,即
<用户名>/<软件名>
。对于 Docker Hub,如果不给出用户名,则默认为library
,也就是官方镜像。
1 |
|
列出image
要想列出已经下载下来的镜像,可以使用 docker image ls
命令。
列表包含了 仓库名
、标签
、镜像 ID
、创建时间
以及 所占用的空间
。
删除image
如果要删除本地的镜像,可以使用 docker image rm
命令,其格式为:
1 |
|
container
运行容器
docker run
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
- -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
- –rm:退出时自动删除容器
- –restart:指定重启策略
- no,默认策略,在容器退出时不重启容器
- on-failure,在容器非正常退出时(退出状态非0),才会重启容器
- on-failure:3,在容器非正常退出时重启容器,最多重启3次
- always,在容器退出时总是重启容器
- unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
- -d: 后台运行容器,并返回容器ID;
- -i: 以交互模式运行容器,通常与 -t 同时使用;
- -P: 随机端口映射,容器内部端口随机映射到主机的端口
- -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=[]: 开放一个端口或一组端口;
- –volume , -v: 绑定一个卷
example:
使用docker运行nginx
使用浏览器访问
example2:
使用--rm
退出时自动删除容器
example3:
使用--restart
非正常退出时自动重启容器
手动使用stop关闭时不会触发重启
重启后,启动docker后容器自动重启
example4:
使用-e
或-env
指定容器的环境变量(多个环境变量可以使用多个-e
指定)
使用inspect
查看容器的环境变量,可以看到刚才通过-e
指定的环境变量
example5:
使用-m
限制内存
查看容器
docker ps [OPTIONS]
默认显示正在运行的容器,查看所有容器需要使用-a选项
OPTIONS说明:
- **-a :**显示所有的容器,包括未运行的。
- **-f :**根据条件过滤显示的内容。
- **–format :**指定返回值的模板文件。
- **-l :**显示最近创建的容器。
- **-n :**列出最近创建的n个容器。
- **–no-trunc :**不截断输出。
- **-q :**静默模式,只显示容器编号。
- **-s :**显示总的文件大小。
删除容器
1 |
|
OPTIONS说明:
- **-f :**通过 SIGKILL 信号强制删除一个运行中的容器。
- **-l :**移除容器间的网络连接,而非容器本身。
- **-v :**删除与容器关联的卷。
rm不能删除正在运行的容器,要先将容器停止或使用-f选项强制删除
启动容器
docker start :启动一个或多个已经被停止的容器
停止容器
docker stop :停止一个运行中的容器
查看日志
1 |
|
OPTIONS说明:
- -f : 跟踪日志输出
- **–since :**显示某个开始时间的所有日志
- -t : 显示时间戳
- **–tail :**仅列出最新N条容器日志
- **-n:**显示最后n条
进入容器
1 |
|
OPTIONS说明:
- **-d :**分离模式: 在后台运行
- **-i :**即使没有附加也保持STDIN 打开
- **-t :**分配一个伪终端