前面几章讲解的docker的基本原理,在了解了基本原理后,我们本章来进行一些基本的操作
1 检查docker 是否安装成功:docker info
2 查看docker及其组件的版本号:docker version
3 查看docker有哪些命令可以使用
4 查看某一个命令的具体帮助信息
5 查看本地目前有哪些镜像:docker images
6 搜索公有仓库,查看有哪些nginx模板镜像:docker search nginx
7 下载第一个模板镜像dockerfile/nginx
失败了,因为被墙了。
8 启动一个名为test的容器,并允许echo 'hello'命令,作为守护进程运行
docker ps 默认显示当前运行的容器,-a参数可以显示所有的容器,包括未运行的
docker run --name test ubuntu14 echo 'hello' 运行一个名叫test的容器,该容器使用的模板是ubuntu14.04,然后运行一条"echo 'hello'"命令,-d表示运行在后台,-i表示以交互模式运行,所以-d运行完后你看到的是一个ID,这个很长的ID就是这个容器的全ID,而-i运行完后直接在当前屏幕显示打印出来的hello。但是为什么没有交互呢?因为容器会尽可能长时间的运行你的应用进程,如果进程运行完毕,容器也会停止的。所以运行的两个容器只能用docker ps -a看到。
下面尝试运行一个真正交互的容器,在容器启动时运行一个/bin/bash命令
9 删除test1 test等已经停止运行容器
在docker中,已经停止的容器室可以直接删除的,正在运行的容器要删除的话,需要先停止容器,然后再删除。
启动一个容器test,使该容器处于运行状态,然后直接删除,看看有啥效果
10 让docker绑定在TCP端口,默认情况下docker使用的是unix socket,默认的unix stock地址是unix:///var/run/docker.sock,这个只允许本地root账户访问。如果绑在TCP地址上,这样会允许非root用户来获得主机上的root访问权限,增加安全风险。所以在开发TCP端口前要确定你的docker访问规则。使用-H参数,可以设置使docker daemon监听在TCP端口上。我们可以使docker daemon监听在4243端口,也可以设置使用socket来访问,或者设置同时使用两种方式来访问。-H tcp://[host][:port] -H unix://path.或者修改配置文件/etc/default/docker,增加DOCKER_OPTS="-H tcp://0.0.0.0:4243"
11 启动一个长时间允许的进程,并获取job的标准输出,最后杀死job
也可以docker stop $JOB/docker start $JOB/docker restart $JOB/docker rm $JOB
12 提交你的容器状态到容器镜像上,这样这个状态就可以被重复使用,当你提交你的容器时,只有不同于镜像容器的内容会被提交。
1 第一步运行一个交互式容器:docker run -i -t 482c97be1605 /bin/bash
2 第二部在容器内部安装一个redis服务:apt-get install redis-server
3 第三部退出容器:ctrl+d
4 提交这个容器,根据该容器生成一个新镜像:docker commit a9c07396bd0b
5 查看提交的新镜像:docker images
猛地一看,怎么都是<none>,这是因为我们在commit的时候没指定相关信息,其实commit时也是可以指定信息的:docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
13 根据新提交的镜像,重新启动一个容器,查看容器内部是否已经有redis服务
转载于:https://my.oschina.net/guol/blog/263752