基本命令
docker version #查看版本
docker login #登录dockerID
docker build -t [DockerId/自定义名称] [文件目录] #打包构建dockerfile文件,制成镜像 (docker build -t limingqiang/hello-world . )
docker commit [原容器名] [新镜像名] #容器制回镜像 (不推荐)
docker --help #帮助
镜像操作(Image)
docker image ls 或 docker images #查看本地所有的镜像(简写)
docker image pull [Image] 或 docker pull #拉取某个仓库的镜像
docker image push [Image] 或 docker push #将本地的镜像上传到镜像仓[要登录才能推送]
docker image rm [镜像名] 或 docker rmi [镜像名] #删除本地镜像
docker image build 或 docker build #通过Dcokerfile文件构造新的镜像
容器操作(Container)
docker run [镜像名|镜像ID] #镜像-创建一个新容器并执行
docker run -it [镜像名|镜像ID] #交互式运行镜像的容器
docker run -d [镜像名] #容器运行在后台服务
docker run -d --name [别名] [镜像名] #给指定运行的容器起别名并挂载后台
docker run -d --name [别名]] --link [另容器别名] [镜像名] #容器A跟容器B之间的可以通过容器名进行访问互通
docker run -d --name [别名] --network [bridge网络] [镜像名] #当前容器加入到另一个namespace网络中
docker run -e [环境变量] [镜像名] # 容器启动前加入环境变量( docker run -e USERNAME=lmq centos )
docker exec [镜像名] #在运行的容器中执行命令
docker exec -it [镜像名] /bin/bash #以bash命令并交互式进入运行中的容器里
docker exec [镜容ID|别名] ip a #查看容器里的网络信息
docker container ls 或 docker ps #查看运行中的容器
docker container ls -a 或 docker ps -a #查看运行/停止的容器
docker container rm [容器ID] 或 docker rm [容器ID] #删除容器(可多个 空格隔开)
docker container commit [镜像名] 或 docker commit #修改后的容器commit成新的镜像
docker container inspect [容器ID|容器名] #查看容器的详细信息
docker start [容器ID | 别名] #启动容器
docker stop [容器ID|别名] #停止已运行的容器
docker inspect [容器ID] #打印容器的详情信息
docker logs [容器ID] #查看容器的一些日志
docker ps -aq #获取所有容器的ID
docker rm $(docker ps -aq) #删除所有容器
docker rm $(docker ps -a -f "status=exited" -q) #删除所有已停止的容器
网络操作(network)
docker network ls #查看网络空间
docker network inspect [NetWorkID] #查看容器的详情网络信息
docker network connect [NetWorkID] [容器名] #容器切换其他网络上
数据卷操作(Volume)
docker volume ls #查看容器挂载的volume数据
docker volume inspect [volume Name] #查看某个Volume的详细信息
docker volume rm [volume Name] #删除某个/多个Data Volume
Docker-Compose操作
docker-compose --version #查看compose版本
docker-compose up #启动compose(默认启动docker-compose.yaml文件)
docker-compose up -d #启动compose并且后台运行
docker-compose up -f docker-compose2.yamlup #启动compose(别的文件配置)
docker-compose ps #查看状态
docker-compose imags #查看compose中所有的镜像
docker-compose start #启动compose服务
docker-compose stop #停止compose服务
docker-compose rm #删除停止的容器
docker-compose down #停止并删除compose的容器、镜像、网络、数据卷
docker-compose exec [service_name] #进入compose服务中的其中一个容器,server_name指的是容yml配置的器名
集群操作(Docker-Swarm)
docker swarm --help #帮助
docker swarm init --advertise-addr=[本机IP] #创建manager主节点。其他机器通过d这个节点连接
docker swarm join --token [worker|manager机器] #加入某台机器的节点
docker node ls #Manager下查看哪些节点已连接
docker service --help #帮助
docker service create --name demo centos7 #创建sevice容器 (跟docker run类似)
docker service ls #查看service容器列表
docker service ps [service_name | 别名] #查看service容器下所有的容器
docker service scale [servie_name]=[number] #水平扩展机器多少个 (docker service scale web=3)
docker service rm [servie_name] #删除service上所有容器
多容器多机集群管理操作(Docker Stack)
类似docker-compose管理组的概念,不过docker-compose是管理本地多容器的,而docker stack 是管理swarm集群涉及多台机器多容器的。
可以理解为docker run —>docker-compose 进行统一管理,而docker service -->docker stack进行统一组管理。
docker stack --help #帮助
docker stack deploy --compose-file=docker-compose.yml #部署创建Service生成Stack
docke stack ls #查看stack列表
docker stack ps <stack名> #某个Stack具体的Service应用(部署多少台,在哪台机器等?)
docker stack service wordpress #Stack下的Service具体情况 (端口映射情况等)
docker stack rm <stack名> #删除stack (包含删除正在运行容器、网络、服务等)