Docker使用说明
Posted 鹤啸九天-西木
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker使用说明相关的知识,希望对你有一定的参考价值。
Docker 镜像一般都保存在仓库中,假设镜像存放在:
仓库:hub.docker.com
目录:linux/os
镜像名:centos6u3
版本号:1.0.0.0
那么:
一、用户登录仓库:
docker login https://xx.yy.com/
特殊的,如果仓库是:https://hub.docker.com/,则直接使用:docker login 进行登录。
二、拉取(下载)镜像文件:
docker pull hub.docker.com/linux/os/centos6u3:1.0.0.0
镜像名之后需要用冒号(:)指定版本号,否则会报错:Error response from daemon: manifest for hub.docker.com/linux/os/centos6u3:latest not found: manifest unknown: manifest unknown
三、查看本地镜像文件:
docker images
会展示本地镜像的5个信息,分别是:
REPOSITORY:包含全路径的镜像名
TAG:版本号
IMAGE ID:镜像ID
CREATED:创建时间
SIZE:镜像大小
四、查看容器情况:
// 查看正在运行的容器的信息
docker ps
// 查看所有容器的信息,包括已经关闭(退出)的容器信息
docker ps -a
会展示加载镜像后生成的容器的7个信息,分别是:
CONTAINER ID:生成的容器ID
IMAGE:加载的镜像名,包含全路径
COMMAND:容器启动后可使用的命令行类型
CREATED:容器创建时间
STATUS:容器状态,有多种状态:
Created:创建了容器,但未启动过;
Up:容器正在运行,运行期间可以暂停容器中所有进程(Paused);
Exited:容器已停止(关闭),Exited状态码如下:
状态码 | 说明 |
---|---|
0 | 正常退出 |
非0 | 异常退出(退出状态码采用 chroot 标准) |
125 | Docker 守护进程本身的错误 |
126 | 容器启动后,要执行的默认命令无法调用 |
127 | 容器启动后,要执行的默认命令不存在 |
137 | 容器收到了 SIGKILL 信号,进程被杀掉, 即执行docker stop命令,对应kill -9 |
139 | 容器收到了 SIGSEGV 信号,无效的内存引用,对应kill -11 |
143 | 容器收到了 |
Destroyed:容器已被销毁,说明已被删除,无法查看容器信息;
PORTS:容器监听的端口
NAMES:容器的名称,如果启动时不用--name指定,则会随机生成名称,建议指定名称,避免不知道启动的容器是哪个
五、创建容器:
docker create -it --net host --name 容器名 hub.docker.com/linux/os/centos6u3:1.0.0.0 /bin/bash
创建时参数:-i 设置以交互模式运行容器,-t 设置为容器分配一个伪输入终端。如果不指定,容器启动后就直接退出;
创建时参数:--net 指定容器的网络类型,不设置的话容器无法连网,--name 指定容器的名称;
创建时如果不指定版本号,则默认会使用版本号Tag为latest的版本,如果无latest版本的本地镜像则会报错
创建时必须指定命令行类型,否则会报错: Error response from daemon: No command specified
六、启动容器:
// 启动容器
docker start 容器名/容器ID
// 重启容器
docker restart 容器名/容器ID
七、进入容器:
docker exec -it 容器名/容器ID /bin/bash
八、创建、启动并进入容器:
docker run -it --net host --name 容器名 hub.docker.com/linux/os/centos6u3:1.0.0.0 /bin/bash
九、暂停/恢复容器的进程:
// 暂停容器的进程
docker pause 容器名/容器ID
// 恢复容器的进程
docker unpause 容器名/容器ID
十、停止容器:
docker stop 容器名/容器ID
十一、查看容器日志:
docker logs 容器名/容器ID
十二、容器打包成镜像:
docker commit 容器名 镜像名:版本号
也可以不指定版本号,则该镜像的版本号为latest。
十三、给镜像打标签(重命名并指定仓库路径):
docker tag 镜像名/镜像ID 标签名:版本号
标签名的组成部分包括:包含协议的仓库地址+仓库目录+镜像别名
不加版本号时默认生成的版本号为latest。
特殊的,如果仓库是:https://hub.docker.com/,在dockerhub仓库建的目录名必须与镜像别名同名(比如在账号lzghxjt下创建目录test1,那么镜像的标签名必须是lzghxjt/test1),否则会push失败,提示:Error response from daemon: pull access denied for xxx, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
十四、删除容器:
docker rm 容器名/容器ID
正在运行的容器不能删除。
十五、删除本地镜像:
docker rmi 镜像名/镜像ID
被容器使用的镜像不能删除。
以上是关于Docker使用说明的主要内容,如果未能解决你的问题,请参考以下文章
使用 docker 如何使用 docker run 将文件从 docker 复制到主机 [重复]