docker 常用命令

作者: admin 分类: IT运维,工具 发布时间: 2019-03-11 10:44

查看版本

$ docker --version #查看版本
$ docker-compose --version #查看版本
$ docker-machine --version #查看版本
$ docker version #查看client和server端版本,并可以查看是否开启体验功能

检查

$ docker ps  # 查看当前正在运行的image实例
$ docker ps -a  #查看所有镜像实例
$ docker run hello-world  #验证docker是否在运行中
$ docker inspect <task or container>   #检查任务或容器

镜像操作

$ docker build -t <image-name> . #使用当前目录下的Dockerfile构建镜像
$ docker images #查看镜像
$ docker image ls -a  显示机器上所有的镜像
$ docker image rm <image id>      删除指定的镜像
$ docker image rm $(docker image ls -a -q)  删除所有的镜像
$ docker rmi [image-id/image-name] #删除指定的镜像,如docker rmi nginx
$ docker tag <image> <username>/<repository>:<tag> #为自定义的镜像打上tag。如:$docker tag hellopython followtry/demo:latest
$ docker push <username>/<repository>:<tag> #将自定义的镜像发布到仓库。如:docker push followtry/demo:latest
    上传后访问地址:https://cloud.docker.com/swarm/followtry/repository/docker/followtry/demo/general
$ docker pull <username>/<repository> #pull自定义的上传上去的镜像。如:$docker pull followtry/demo
$ docker run username/repository:tag #运行仓库的镜像

容器操作

$docker container ls #列出所有运行中的容器
$docker container ls -a #列出所有容器,包括未运行的
$docker container ls -q     #只列出运行的容器的id集合
$docker container stop <hash>  # 优雅停用指定的容器
$docker container kill <hash>  #强制关闭指定的容器
$docker container rm <hash>    #删除指定的容器
$docker container rm $(docker container ls -a -q)  #删除所有的容器
$docker run -d -p 8080:80 --name webserver nginx # 运行nginx镜像实例,-d:后台,-p:绑定端口8080到docker的80
$docker stop <containerid/container-name> #停止容器webserver
$docker start <containerid/container-name> #启动容器webserver
$docker port <containerid/container-name> #查看指定容器的端口映射
$docker logs -f <containerid/container-name> #查看指定容器的日志
$docker top <containerid/container-name>  #查看容器的进程
$docker inspect <containerid/container-name> #检查容器的底层信息
$docker rm <containerid/container-name>  #删除指定的容器名称

Docker操作(苹果系统)

$/Applications/Docker.app/Contents/MacOS/Docker --uninstall  #docker卸载

用户和组

$docker login #登录

service指令

$docker service ls  #列出与应用关联的所有运行的service
$docker service ps <service>  #列出和应用关联的所有任务

stack指令

$docker stack ls  #列出stack或app列表
$docker stack deploy -c <composefile> <appname>  # 运行指定的compose文件
$docker stack rm <appname>  #删除一个或多个stack
$docker stack services <stack1>#列出stack1中的服务

swarm指令

$docker swarm ca  #显示root的ca
$docker swarm init #swarm初始化
$docker swarm join --token SWMTKN-1-1qazipp4hbndidnfzsm8psks33tdgvvcgn0ids6uv41u68w9f8-aq1lw7di2g4wx6buypra1j6qz 192.168.65.2:2377 #执行该命令,将当前节点添加到swarm中管理
$docker swarm join-token [OPTIONS] (worker|manager) #管理允许加入的token
$docker swarm leave --force  #从管理器中强制移除单个swarm节点
$docker swarm unlock-key #swarm集群的解锁key
$docker swarm unlock #解锁集群,key=SWMKEY-1-8jKcZ7SJb2+aHibYuJ1RevmuEAtbx8q0LY+crOx+QRU
$docker swarm update   #更新swarm,内有自动lock,cert过期周期,分发心跳周期,历史任务限制等功能

node指令

$docker node demote <NODEID/HOSTNAME> #对NODEID进行降级
$docker node inspect <NODEID/HOSTNAME> #节点NODEID的详细信息
$docker node ls #列出节点列表
$docker node promote node | ... #提升一到多个节点为swarm的管理者
$docker node ps #列出节点上正在运行的任务,默认是当前节点
$docker node rm node | ... #swarm中移除一个或多个节点
$docker node update <NODEID/HOSTNAME> #更新指定节点

列出镜像

# docker images

删除镜像

# docker rmi image_id

列出 container id:

# docker ps -a

删除 container

如果 container 正在执行, 要先停止才可以刪除, 以下是将 container 停止及刪除的指令:

# docker stop container_id
# docker rm container_id

批量停止container

將所有 container 停止及刪除, 執行以下指令

# docker stop $(docker ps -a -q)
# docker rm $(docker ps -a -q)

发表评论

电子邮件地址不会被公开。 必填项已用*标注