网站首页 > 基础教程 正文
1、辅助命令
1)、查看版本
# 查看精简版本信息
docker -v
# 查看详细版本信息
docker version
>docker -v
Docker version 19.03.5, build 633a0ea
>docker version
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:22:34 2019
OS/Arch: darwin/amd64
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:29:19 2019
OS/Arch: linux/amd64
Experimental: true
containerd:
Version: v1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683
2)、查看信息
docker info
3)、帮助命令
docker --help
2、镜像命令
1)、列出本地镜像
# 列出本地镜像
docker images
# 列出本地所有的镜像(含中间映像层)
docker images -a
# 只显示镜像ID
docker images -q
# 显示镜像的摘要信息
docker images --digests
# 显示完整的镜像信息
docker images --no-trunc
- REPOSITORY:表示镜像的仓库源
- TAG:镜像的标签
- IMAGE ID:镜像ID
- CREATED:镜像创建时间.
- SIZE:镜像大小
2)、查找镜像
查找镜像一般情况,是通过官网来搜索的,使用下面的官网地址搜索:
https://hub.docker.com/
当然也可以通过命令行来查询镜像,可惜的是这个命令行无法获取版本等详细信息,因此使用价值不大,具体命令如下:
# 搜索镜像
docker search mysql
# 查找30颗星以上的tomcat
docker search -s 30 tomcat
3)、下载镜像
# 默认下载最新版本的镜像
docker pull tomcat
# 指定下载镜像的版本
docker pull tomcat:latest
4)、删除镜像
# 删除单个镜像
docker rmi hello-world
# 强制删除单个镜像
docker rmi -f hello-world
docker rmi -f hello-world:latest
docker rmi -f fce289e99eb9
# 强制删除多个镜像
docker rmi -f aaa bbb ccc
# 删除所有的镜像
docker rmi -f $(docker images -qa)
3、容器命令
1)、创建容器
- 前置条件:有镜像才能创建容器。
- 命令语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
- -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
- -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: 绑定一个卷
(1)使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
(2)使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d nginx:latest
(3)使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
(4)绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
(5)使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
docker run -it nginx:latest /bin/bash
docker run -d centos /bin/bash -c "nohup ping -i 1000 www.baidu.com"
2)、列出运行中的容器
命令语法:
docker ps [OPTIONS]
OPTIONS说明:
- -a :显示所有的容器,包括未运行的。
- -f :根据条件过滤显示的内容。
- --format :指定返回值的模板文件。
- -l :显示最近创建的容器。
- -n :列出最近创建的n个容器。
- --no-trunc :不截断输出。
- -q :静默模式,只显示容器编号。
- -s :显示总的文件大小。
(1)列出所有在运行的容器信息。
# 查看正在运行的容器
docker ps
# 查看所有曾经运行过的容器
docker ps -a
输出信息介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
状态有7种:
- created(已创建)
- restarting(重启中)
- running(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead(死亡)
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
(2)列出最近创建的5个容器信息。
docker ps -n 5
(3)列出所有创建的容器ID
docker ps -a -q
3)、退出容器
# 直接退出
exit
# 退出容器但不停止容器
conrol+Q+P
4)、重启容器
# 启动容器
docker start e4e2ec69dde3
# 重启容器
docker restart e4e2ec69dde3
5)、停止容器
# 停止容器
docker stop e4e2ec69dde3
# 终止容器
docker kill e4e2ec69dde3
6)、删除容器
# 删除已停止的容器
docker rm e4e2ec69dde3
# 强制删除容器
docker rm -f e4e2ec69dde3
# 删除所有容器
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
7)、后台运行容器
docker run -d centos /bin/sh -C "while true;do echo hello;sleep 2;done"
8)、查看容器日志
# 查看容器输出的日志
docker logs e4e2ec69dde6
# 实时输出容器的日志
docker logs -t -f --tail 3 e4e2ec69dde6
9)、查看容器内运行的进程
# docker top 容器ID
docker top e4e2ec69dde6
10)、查看容器详细信息
# docker inspect 容器ID
docker inspect e4e2ec69dde6
11)、进入正在运行的容器
# docker exec -it 容器ID bashshell
docker exec -t e4e2ec69dde6 ls -l /tmp
# 进入正在运行的容器并以命令行交互
docker exec -it e4e2ec69dde6 /bin/bash
# 进入正在运行的容器并以命令行交互
# docker attach 容器ID
docker attach e4e2ec69dde6
12)、从容器内拷贝文件到宿主机
# docker cp 容器ID:容器内路径 目的主机目录
docker cp e4e2ec69dde6:/tmp/t.log /tmp
4、常用命令总结
5、Docker生命周期
6、导出镜像
如果镜像已经下载下来,但是想安装到另外一台机器上,又因为太大不想重新下载,因此导出docker镜像就显得十分有用了。例如要导出下面的部分镜像:
可以使用如下命令导出镜像:
# 导出镜像并压缩为tar包
# 注意:需要注明TAG
docker save -o elasticsearch.7.2.0.tar elasticsearch:7.2.0
docker save -o kibana.7.2.0.tar kibana:7.2.0
7、导入镜像
有导出,肯定就有导入,可以通过下面命令把导出的镜像导入本地镜像仓库:
docker load < elasticsearch.7.2.0.tar
docker load < kibana.7.2.0.tar
8、修改容器的端口
有时间容器已经运行,但是又想修改映射的端口,则可以分为以下几步来进行:
1)、进入/var/lib/docker/containers/
cd /var/lib/docker/containers/
2)、根据容器ID查找到容器的配置文件。
vi /var/lib/docker/containers/[hash_of_the_container]/hostconfig.json
3)、然后重启整个docker服务
systemctl restart docker
猜你喜欢
- 2024-10-12 Docker扫盲级别基础操作命令 docker-cn
- 2024-10-12 docker命令讲解(二) docker 命令大全
- 2024-10-12 docker 常用命令整理 docker命令菜鸟教程
- 2024-10-12 Docker必须掌握常用命令 docker常用命令及参数
- 2024-10-12 「这些都不知道你就是个弟弟」Docker常用命令
- 2024-10-12 docker常用命令-其他常用命令 docker常用命令及参数
- 2024-10-12 聊聊 Docker 的存储 Overlay2 docker/overlay2
- 2024-10-12 Docker常用命令与构建中遇到的问题
- 2024-10-12 NVIDIA Jetson 系列文章(5):使用Docker容器的入门技巧
- 2024-10-12 一分钟学会Docker常用命令 docker常用命令大全简书
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)