一 . 基础命令
1. docker info 查看docker信息
2. docker version 查看docekr的版本信息
3. service docker start 开启docker服务
3. docker search 从Docker Hub中查找镜像 , 选项说明: -s :列出收藏数不少于指定值的镜像
docker search -s 60 php
#搜索收藏数大于60的php镜像
4. docker pull 从Docker Hub上拉取镜像, (默认latest标签)
docker pull debian:latest
docker pull debian
#上面两条命令功能一样的
5. docker run 通过run命令创建一个新容器
- -d 指定该容器运行在后台模式(Drtached mode)并返回容器ID,反之执行在前台
- --rm 默认情况下,每个容器在退出是,它的文件系统也会保存下来。这样一方面调试比较方便。但如果是短暂的前台容器,我们可以使用该命令删除信息。注意:--rm和-d选项不能共用
- -t 在新容器内指定一个伪终端或终端,该选项通常与-i 同时使用。
- -i 以交互模式运行容器,通常与-t 同时使用
docker run -i -t ubuntu
#以交互模式运行ubuntu镜像,容器创建后系统会分配一个伪终端给该容器
- --name 为容器指定一个名称
docker run --name='hw' hello-world
#把该容器命名为hw
- -m 设置容器使用的最大内存值
- -p 端口映射(格式为:宿主端口:容器端口)但大写p和小写p不一样
docker run -P -d nginx #使用nginx镜像创建一个后台容器,大写P,将容器的80端口映射到主机的随机端口 docker run -d -p 80:80 nginx #小写p,将容器的的80端口映射到主机的80端口
- -e 设置环境变量,eg: -e username='aaaa'
- --env-file=[] 从指定文件读入环境变量
- --net="bridge": 指定容器的网络连接类型
- --link=[] 添加链接到另一个容器
6.docker cp 容器和主机之间的数据复制
docker cp /www/runoob 96f7f14e99ab:/www/
#将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
docker cp 96f7f14e99ab:/www/runoob /www/
#将容器96f7f14e99ab中/www/runoob目录拷贝到主机的/www目录下。
其它命令不一一讲解了,可以到菜鸟驿站上查看其它命令
二. 将容器转换成镜像
1.我们先开启一个名为my-ubuntu的容器
docker run -it --name='my-ubuntu' ubuntu
2.进入到容器终端后按照使用命令按照 nginx
apt-get update
apt-get install -y nginx
3.安装完成输入exit退出容器
4.输入修改命令
docker commit -m 'add nginx for ubuntu' -a 'watkin' my-ubuntu watkin/ubuntu-nginx:v1
其中-m参数用来指定提交的说明信息; -a 可以指定用户信息;my-ubuntu是代表容器的名字,也可以用容器id代替
watkin/ubuntu-nginx:v1分别代表用户名, 仓库名和tag信息
5. 使用docker images 命令查看新镜像就可以发现当前的镜像了
三. 存储镜像(把镜像push到docker hub上)
1. 如果还没有Docker Hub的账号,要先前往Docker Hub注册
2.注册成功后输入docker login命令,在界面上登录
3. 使用docker push命令把镜像提交到docker hub
docker push watkin/ubuntu-nginx:v1