拉取镜像
docker pull : 从镜像仓库中拉取或者更新指定镜像
常用命令:
- -a :拉取所有 tagged 镜像
- –disable-content-trust :忽略镜像的校验,默认开启
实例:
从Docker Hub下载ubuntu最新版镜像。
docker pull ubuntu
从Docker Hub下载REPOSITORY为ubuntu的所有镜像。
docker pull -a ubuntu
从Docker Hub下载ubuntu指定版本版镜像。
docker pull ubuntu:16.04
查看镜像
docker images : 列出本地镜像。
常用命令:
- -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
- –digests :显示镜像的摘要信息;
- -f :显示满足条件的镜像;
- –format :指定返回值的模板文件;
- –no-trunc :显示完整的镜像信息;
- -q :只显示镜像ID。
实例:
列出本地镜像中REPOSITORY所有的镜像列表。
docker images
列出本地镜像中REPOSITORY为ubuntu的镜像列表。
docker images ubuntu
删除镜像
docker rmi :删除一个或多个镜像。
常用命令:
- -f :通过 SIGKILL 信号强制删除一个运行中的容器。
实例:
删除镜像 ubuntu
docker rmi ubuntu
强制删除镜像 ubuntu
docker rmi -f ubuntu
运行镜像 -(生成容器)
docker run :创建一个新的容器并运行一个命令
常用命令:
- -d: 后台运行容器,并返回容器ID;
- -i: 以交互模式运行容器,通常与 -t 同时使用;
- -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口;
- –name=“nginx-lb”: 为容器指定一个名称;
- –expose=[]: 开放一个端口或一组端口;
实例:
使用docker镜像以交互模式运行容器。
docker run -it ubuntu
使用docker镜像nginx:latest(镜像名称:版本)以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
docker run -it nginx:latest /bin/bash
创建容器
docker create :创建一个新的容器但不启动它
命令同 run
启动容器
docker start :启动一个或多个已经被停止的容器
实例:
启动已被停止的容器myrunoob
docker start myrunoob
停止容器
docker stop :停止一个运行中的容器
实例:
停止运行中的容器myrunoob
docker stop myrunoob
重启容器
docker restart :重启容器
实例:
重启容器myrunoob
docker restart myrunoob
删除容器
docker rm :删除一个或多个容器。
常用命令:
- -f :通过 SIGKILL 信号强制删除一个运行中的容器。
- -l :移除容器间的网络连接,而非容器本身。
- -v :删除与容器关联的卷。
实例:
删除容器 ubuntu
docker image rm ubuntu
强制删除容器 ubuntu
docker image rm -f ubuntu
删除所有已经停止的容器:
docker rm $(docker ps -a -q)
查看容器
docker ps : 列出容器
常用命令:
- -a :显示所有的容器,包括未运行的。
- -f :根据条件过滤显示的内容。
- –format :指定返回值的模板文件。
- -l :显示最近创建的容器。
- -n :列出最近创建的n个容器。
- –no-trunc :不截断输出。
- -q :静默模式,只显示容器编号。
- -s :显示总的文件大小。
实例:
查看已运行的容器信息
docker ps
查看所有的容器信息,包括未运行的。
docker ps -a
连接容器
docker attach :连接到正在运行中的容器。
实例:
连接到id为a21a4335bf61的容器
docker attach a21a4335bf61
获取长容器ID
docker inspect : 获取容器/镜像的元数据。
常用命令:
- -f :指定返回值的模板文件。
- -s :显示总的文件大小。
- –type :为指定类型返回JSON。
实例:
查看focused_morse容器的长ID
docker inspect -f '{{.ID}}' focused_morse
拷贝本地文件到容器
docker cp :用于容器与主机之间的数据拷贝。
常用命令:
- -L :保持源目标中的链接
实例:
将主机/xxx/runoob目录拷贝到容器96f7f14e99ab的/xxx目录下。
docker cp /xxx/runoob 96f7f14e99ab:/xxx/
将主机/xxx/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为xxx。
docker cp /xxx/runoob 96f7f14e99ab:/xxx
将容器96f7f14e99ab的/xxx目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/xxx/tmp/
打包创建 镜像
docker build 命令用于使用 Dockerfile 创建镜像。
常用命令:
- -f :指定要使用的Dockerfile路径;
- –rm :设置镜像成功后删除中间容器;
- –tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
实例:
使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1,保存当前目录
docker build -t runoob/ubuntu:v1 .
使用指定/path/to/a/目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1,保存当前/home/xxx目录
docker build -f /path/to/a/Dockerfile -t runoob/ubuntu:v1 /home/xxx
导出镜像
docker save : 将指定镜像保存成 tar 归档文件。
常用命令:
-o :输出到的文件。
实例:
将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档,保存在/home/目录下
docker save runoob/ubuntu:v3 > /home/my_ubuntu_v3.tar
导入镜像
docker load : 导入使用 docker save 命令导出的镜像。
常用命令:
- –input , -i : 指定导入的文件,代替 STDIN。
- –quiet , -q : 精简输出信息。
实例:
将镜像 my_ubuntu_v3.tar文件,导入docker
docker load < /home/my_ubuntu_v3.tar
橙皮鸡蛋
发布了77 篇原创文章 · 获赞 237 · 访问量 30万+
私信
关注