我的Docker学习笔记

安装docker

安装 Docker 官方的最新发行版, 支持 Ubuntu 12.04 以上版本

curl -sSL https://get.daocloud.io/docker | sh

安装完成后:

    + sh -c docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker your-user

Remember that you will have to log out and back in for this to take effect!

安装过程结束后,可执行下面命令验证安装结果。如果看到输出 docker start/running 就表示安装成功。

sudo service docker status

启动和停止Docker服务

sudo service docker start/stop/restart

查看Docker安装信息

sudo docker info
我的Docker学习笔记_第1张图片
查看Docker安装信息

查看Docker镜像

镜像简短信息

sudo docker images
我的Docker学习笔记_第2张图片
简短镜像信息

镜像详细信息

sudo docker images [OPTION]
参数名 描述 默认
-a,--all 显示全部镜像 默认隐藏中间部分的镜像
--digests 显示摘要 默认不显示
-f,--filter=[] 过滤输入结果 默认不过滤
--format 使用模板打印镜像信息 默认不使用
--help 帮助信息 默认不使用
--no-trunc 不截断输出 默认截断输出
-q,--quiet 只显示数字标识(截断的IMAGE ID) 默认不使用
我的Docker学习笔记_第3张图片
镜像详细信息示例

操作Docker镜像

1.拉取镜像(pull)

由于是练习,我就直接用国内镜像,节约时间!
如何从DaoCloud Pull镜像
(一)进入控制台-->镜像仓库-->DaoCloud镜像

我的Docker学习笔记_第4张图片
DaoCloud官方网站
我的Docker学习笔记_第5张图片
DaoCloud控制台
我的Docker学习笔记_第6张图片
DaoCloud镜像仓库

(二)选择要安装的镜像
示例:phpmyadmin

我的Docker学习笔记_第7张图片
phpmyadmin

在终端中,输入上图 圈出 的命令:

sudo docker pull daocloud.io/golfen/dao-phpmyadmin:master-6d2081f
我的Docker学习笔记_第8张图片
安装phpmyadmin过程
我的Docker学习笔记_第9张图片
查看安装结果

2.删除镜像

镜像没有在任何容器中使用的时候(如果镜像已经被容器使用了,就删除失败。可以参考下面的章节"操作容器",删除容器后,再删除镜像),可以通过下面的命令删除镜像:

// rmi 后面跟的参数为 image id
sudo docker rmi 8049b175ab11
//rmi 后面跟的参数为REPOSITORY+TAG
sudo docker rmi daocloud.io/golfen/dao-phpmyadmin:master-6d2081f
我的Docker学习笔记_第10张图片
根据image id删除镜像
我的Docker学习笔记_第11张图片
删除后结果查询

Docker容器

启动容器

docker容器可以理解为在沙盒中运行的进程。这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell 环境等等。但这个沙盒默认是不会运行任何程序的。你需要在沙盒中运行一个进程来启动某一个容器。这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止。(摘自推酷)

我的Docker学习笔记_第12张图片
启动容器

上图中,分别执行了查看镜像、根据 REPOSITORY 与 TAG 启动容器,启动成功后查看当前启动容器的信息,示例命令如下:

// 查看镜像
docker images
//交互式启动容器
//docker run -it container_name:tag /bin/bash
docker run -it daocloud.io/ubuntu:14.04 /bin/bash

//进入已经启动的容器
docker start -ai [容器id]

//查看容器信息
uname -a

操作容器

查看容器(docker ps)
查看启动中的容器

docker ps
我的Docker学习笔记_第13张图片
查看启动中的容器

查看所有容器

docker ps -a
查看所有容器

查看最近一次启动的容器

docker ps -l
查看最近一次启动的容器

根据容器id操作容器

docker [Option] container_id
参数名 描述
rm 删除
stop 停止
start 启动
kill 杀死
logs 获取容器日志
diff 列出一个容器里面被改变的文件或者目录
top 容器里面的进程信息
cp 从容器里面拷贝文件
restart 重启
attach 附加到一个运行的容器上面
//删除单个容器; -f, --force=false; -l, --link=false Remove the specified link and not the underlying container; -v, --volumes=false Remove the volumes associated to the container
docker rm Name/ID

//停止、启动、杀死一个容器
docker stop Name/ID
docker start Name/ID
docker kill Name/ID

//从一个容器中取日志; -f, --follow=false Follow log output; -t, --timestamps=false Show timestamps
docker logs Name/ID

//列出一个容器里面被改变的文件或者目录,list列表会显示出三种事件,A 增加的,D 删除的,C 被改变的
docker diff Name/ID

//显示一个运行的容器里面的进程信息
docker top Name/ID

//从容器里面拷贝文件/目录到本地一个路径
docker cp Name:/container_path to_path
docker cp ID:/container_path to_path

//重启一个正在运行的容器; -t, --time=10 Number of seconds to try to stop for before killing the container, Default=10
docker restart Name/ID

//附加到一个运行的容器上面; --no-stdin=false Do not attach stdin; --sig-proxy=true Proxify all received signal to the process
docker attach ID

//停止所有容器,且删除所有容器
docker stop $(docker ps -q)
docker rm $(docker ps -a -q)

你可能感兴趣的:(我的Docker学习笔记)