Docker的常用命令

原创 明天的地平线  2019-12-23 10:30  已被 307 人围观

一、docker版本命令

docker info 命令
作用:查看Docker的系统信息,包括镜像和容器数
语法:docker info [OPTIONS]
例:
docker info 查看Docker的系统信息

docker version 命令
作用:查看当前环境上安装的docker的版本信息
语法:docker version [OPTIONS] [OPTIONS]
例:
docker version 查询当前环境下的docker版本信息,会显示client、server的版本信息

二、镜像仓库命令

docker images 命令
作用:查看当前环境下所有的镜像
语法:docker images [OPTIONS] [REPOSITORY[:TAG]]
例:
docker images 查询当前环境下的所有镜像
docker images somta-service 列出本地镜像中REPOSITORY为somta-service的镜像列表

docker pull 命令
作用:从镜像中心拉取某个镜像
语法:docker pull [OPTIONS] NAME[:TAG|@DIGEST]
例:
docker pull hub.c.163.com/library/nginx:latest 拉取nginx的latest版本

docker login 命令
作用:登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
语法:logout [OPTIONS] [SERVER]
例:
docker login somta.registry.com -u 用户名 -p 密码 登录到自己的镜像仓库

docker logout 命令
作用:登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
语法:docker logout [OPTIONS] [SERVER]
例:
docker logout 退出镜像仓库

docker push 命令
作用:将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
语法:docker push [OPTIONS] NAME[:TAG]
例:
docker push somta-service:1.0.0 将本地镜像somta-service的1.0.0版本上传到镜像仓库中

docker search 命令
作用: 从Docker Hub或其他镜像仓库查找镜像
语法:docker search [OPTIONS] TERM

-s :列出收藏数不小于指定值的镜像

例:
docker search -s 10 nginx 从Docker Hub查找所有镜像名包含nginx,并且收藏数大于10的镜像

docker build 命令
作用: 用于使用 Dockerfile 创建镜像
语法:docker build [OPTIONS] PATH | URL | -

-s :列出收藏数不小于指定值的镜像

例:
docker search -s 10 nginx 从Docker Hub查找所有镜像名包含nginx,并且收藏数大于10的镜像

三、容器生命周期管理命令

docker run 命令
作用:创建一个新的容器并运行一个命令
语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

-d: 后台运行容器,并返回容器ID;
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
-m :设置容器使用内存最大值;

例:
docker run --name somta-service -d somta-service:1.0.0 将somta-service的1.0.0版本以后台模式运行一个容器,并将容器的名称命名为somta-service

docker run -p 8080:80 -d somta-service:1.0.0 将somta-service的1.0.0版本以后台模式运行一个容器,并将容器的80端口映射到本机8080端口上

四、容器操作命令

docker ps 命令
作用:查看当前正在运行的容器
语法:docker ps [OPTIONS]

-a :显示所有的容器,包括未运行的

例:
docker ps -a 查看所有容器的状态

docker exec 命令
作用:查看当前正在运行的容器
语法:docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端

例:
docker exec -it mynginx /bin/bash 为容器 mynginx 开启一个交互模式的伪终端
docker exec -it mynginx /bin/sh /root/start.sh 在容器 mynginx中以交互模式执行容器内 /root/start.sh 脚本

docker start/stop id/name 启动/停止某个容器

docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)

docker exec -ti id 启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)

docker images 查看本地镜像
docker rm id/name 删除某个容器
docker rmi id/name 删除某个镜像

docker run --name test -ti ubuntu /bin/bash 复制ubuntu容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash

docker build -t soar/centos:7.1 . 通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像

docker run -d -p 2222:22 --name test soar/centos:7.1 以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变

其他命令

netstat 命令
作用:查看服务器是否已经开启相关端口
语法:netstat [OPTIONS] port

例:
netstat -na|grep 8080 查看服务器是否开放8080端口,状态为LISTEN,即为打开,云服务器还需要检查入栈规则是否添加该端口

本文地址:https://www.somta.net/article/91.html
关注我们:请关注一下我们的微信公众号:扫描二维码明天的地平线的公众号,公众号:明天的地平线
版权声明:本文为原创文章,版权归 明天的地平线 所有,欢迎分享本文,转载请保留出处!

发表评论