
docker version
docker info
service docker status
service docker start
service docker stop
service docker restart
docker pull ubuntu
docker images
docker rmi <image_id>
docker build -t my_image .
docker tag my_image my_new_image
# 标记本地镜像以便推送到私有仓库
docker tag my-image myregistry.example.com:5000/my-image
# 推送镜像到私有仓库
docker push myregistry.example.com:5000/my-image
# 从私有仓库拉取镜像
docker pull myregistry.example.com:5000/my-image
docker history [image_id]
docker save
docker save -o ubuntu14.04.tar ubuntu:14.04
docker load
docker load -i ubuntu14.04.tar
docker load < /home/save.tar
docker build -t <镜像名> <Dockerfile路径>
docker build -t xx/gitlab .
docker ps
docker ps -a
docker ps -a -q
docker ps -as
docker top
sudo docker inspect -f '{{.Id}}' [id]
docker inspect
docker logs -f <容器名称orID>
docker commit -a "user" -m "commit info" [CONTAINER] [imageName]:[imageTag]
# 登录
docker login --username=[userName] --password=[pwd] [registryURL]
docker tag [imageID] [remoteURL]:[imageTag]
docker push [remoteURL]:[imageTag]
docker pull [remoteURL]:[imageTag]
docker diff
# 使用镜像daocloud.io/library/ubuntu
docker create -it --name test daocloud.io/library/ubuntu
# 使用镜像daocloud.io/library/ubuntu
docker run --name test daocloud.io/library/ubuntu
docker rm [容器id]
docker rm `docker ps -a -q`
docker build -t [image_name] [Dockerfile_path]
docker commit <CONTAIN-ID> <IMAGE-NAME>
docker start|stop|restart [id]
docker pause|unpause [id]
docker kill -s KILL [id]
docker stop `docker ps -q`
docker kill -s KILL `docker ps -q`
sudo docker exec -it {{containerName or containerID}} /bin/bash
sudo docker exec -i {{containerName or containerID}} /bin/bash
sudo docker exec -t {{containerName or containerID}} /bin/bash
sudo docker exec -d {{containerName or containerID}} /bin/bash
只用 -i 参数,由于没有分配伪终端,看起来像pipe执行一样。但是执行结果、命令返回值都可以正确获取。
只用 -t 参数,则可以看到一个 console 窗口,但是执行命令会发现由于没有获得stdin的输出,无法看到命令执行情况。
使用 -it 时,则和我们平常操作 console 界面类似,而且也不会像attach方式因为退出,导致整个容器退出。
使用 -d 参数,在后台执行一个进程。如果一个命令需要长时间进程,会很快返回
docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
docker cp local.sh [CONTAINERid]:[TagPath]
docker run -d -p 192.168.0.2:63301:22 centos6-ssh
-a, --attach=[]:指定要附加到的标准输入、输出或错误输出。
--add-host=[]:添加自定义主机到 IP 映射。
--blkio-weight=0:块 I/O 的相对权重。
-c, --cpu-shares=0:CPU 份额(相对权重)。
--cap-add=[]:添加 Linux 能力。
--cap-drop=[]:去除 Linux 能力。
--cgroup-parent=:容器的可选父 cgroup。
--cidfile=:将容器 ID 写入文件。
--cpu-period=0:限制 CPU CFS(完全公平调度器)周期。
--cpu-quota=0:限制 CPU CFS 配额。
--cpuset-cpus=:允许在其中执行的 CPU(0-3、0、1),绑定容器到指定 CPU。
--cpuset-mems=:允许在其中执行的 MEM(0-3、0、1),绑定容器到指定 MEM。
-d, --detach=false:在后台运行容器并打印容器 ID。
--device=[]:向容器添加主机设备。
--dns=[]:设置自定义 DNS 服务器。
--dns-search=[]:设置自定义 DNS 搜索域。
-e, --env=[]:设置环境变量。
--entrypoint=:覆盖镜像的默认入口点。
--env-file=[]:从指定文件读取环境变量。
--expose=[]:暴露一个或一系列端口。
-h, --hostname=:指定容器的主机名。
--help=false:打印使用说明。
-i, --interactive=false:即使未附加也保持 STDIN 打开,通常与 -t 一起使用。
--ipc=:IPC 命名空间。
-l, --label=[]:在容器上设置元数据。
--label-file=[]:读取标签的行分隔文件。
--link=[]:添加到另一个容器的链接。
--log-driver=:容器的日志驱动程序。
--log-opt=[]:日志驱动程序选项。
--lxc-conf=[]:添加自定义 lxc 选项。
-m, --memory=:内存限制。
--mac-address=:容器的 MAC 地址。
--memory-swap=:总内存(内存+交换空间),-1 表示禁用交换空间。
--name=:为容器指定名称。
--net=bridge:设置容器的网络连接模式,支持 bridge/host/none/container:<name|id> 四种类型。
--oom-kill-disable=false:禁用 OOM 杀手。