本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来。
一、根据自己的理解,总的来说分为以下几种:
容器生命周期管理
docker [run|start|stop|restart|kill|rm|pause|unpause]
容器操作运维
docker [ps|inspect|top|attach|events|logs|wait|export|port]
容器rootfs命令
docker [commit|cp|diff]
镜像仓库
docker [login|pull|push|search]
本地镜像管理
docker [images|rmi|tag|build|history|save|import]
其他命令 — docker [info|version]
1、搜索仓库镜像
docker search –-limit 25 TERM
2、拉取镜像
docker pull NAME[:TAG]/docker pull URL[:tag]
3、列出镜像
docker images [REPOSITORY[:TAG]]
4、删除镜像
docker rmi [-f] IMAGE [IMAGE...]
5、运行容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-d:后台运行
-it:交互式
-v:数据卷 本地:容器(/usr/tomcat/webapps:/tomcat/webapps)
-p:端口映射 宿主机:容器(localhost:8080:80)
--name 命名
e.g:docker run -d –it –-name test –p 8080:80 –v /machine/backup:/docker/container hello-world:latest
6、查看容器
docker ps –a
7、删除容器
docker rm -f CONTAINER [CONTAINER...]
8、查看日志
docker logs –f –-tail 100 CONTAINER
9、提交容器为一个新的镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a:author
-m:message
-p:pause
10、build镜像
docker build –t name:tag PATH|URL
11、推送到远程仓库
docker push NAME[:TAG]
12、进入一个正在运行的容器执行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
e.g :docker exec -it /bin/bash
13、查看容器的ip
docker inspect -f '{{ .NetworkSettings.IPAddress }}' name
14、查看网络
docker network ls |docker network inspect network-name
15、连接或断开网络
docker network [connect|disconnect] network-name container
16、创建删除网络
docker network [rm|create] network-name [driver]
附dockerfile:
FROM PATH|URL
MAINTAINER "author"<mail>
ADD src dest
ENV key=value
VOLUME [“/data1”,”/data2”]
RUN ehco “hello”
二、swarm
1、初始化集群
docker swarm init --advertise-addr $(docker-machine ip node-1)
2、加入集群
docker swarm join --token TOKEN
3、忘记token
docker swarm join-token worker
4、查看节点信息
docker node ls
5、更新节点
docker node update options(--label-add foo=bar) hostname
6、运行服务
docker service create(后面的命令同运行容器)
7、查看服务
docker service ls
8、更新服务
docker service update options(--publish-add 80) servicename
9、退出集群
docker swarm leave