docker run 命令
docker run ubuntu:15.10 /bin/echo "Hello world"
各个参数解析:
docker: Docker 的二进制执行文件。
run:与前面的 docker 组合来运行一个容器。
ubuntu:15.10指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo "Hello world": 在启动的容器里执行的命令
以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。
其他参数的意思:
-i:表示使用交互模式,始终保持输入流开放
-t:表示分配一个伪终端,一般两个参数结合时使用-it,即可在容器中利用打开的伪终端进行交互操作
-d:后台运行容器,并返回容器ID
--name :可以指定docker run命令启动的容器名字,若无此选项,Docker将为容器随机分配一个名字
-c :用于给运行在容器中的所有进程分配CPU的shares值,这是一个相对权重,实际的处理速度还与宿主机的CPU相关
-m :用于限制为容器中所有进程分配的内存总量,以B、K、M、G为单位
-v :用于挂载一个volume,可以用多个-v参数同时挂载多个volume。volume的格式为[host-dir]:[container-dir]:[rw|ro]
-p :用于将容器内部端口映射给宿主机的端口,其常见格式为:主机(宿主)端口:容器内部端口
-P :随机端口映射,容器内部端口随机映射到宿主机的端口
进入交互式容器
docker exec -i -t ubuntu:15.10 /bin/bash
其中:-i -t 可以简写 -it
各个参数解析:
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。
从镜像仓库中拉取或者更新指定镜像
docker pull nginx
从Docker Hub拉取nginx最新版镜像
列出主机上的镜像
docker images
将一个容器固化为一个新的镜像
[root@202 ~]# docker run -it centos /bin/bash
[root@afcaf46e8305 /]#
afcaf46e8305是产生的容器ID,前面运行的时候不要-d后台运行了,不然会进不去容器内部的
[root@afcaf46e8305 /]# yum update
[root@afcaf46e8305 /]# yum install -y vim
安装完了后:exit退出容器
然后把容器打包成镜像:
root@202 ~]# docker commit afcaf46e8305 centos-vim
完成后docker images查看镜像就会发现centos-vim这个镜像了
我们再用刚刚的方法进去centos-vim这个镜像,
[root@7f2d42f3e0a3 /]# vim --version
就可以看到vim的信息了