docker拉取镜像以及生成容器
2017-11-02 本文已影响0人
望月时生
docker拉取镜像
1. 从Docker Registry获取镜像
参数:docker pull [选项] [Docker Registry地址] <仓库名>:<标签>
如果不写Registry地址则默认从官方仓库拉取
docker pull ubuntu:14.04
2. 查看目前已有的镜像文件
docker images
docker生成容器
1. 执行一个Nginx镜像来生成一个容器
参数:docker run --name [容器名] [选项] -p <主机端>:<映射端口> [仓库名]
生成一个名为webserver的容器
-d表示在后台运行 -p表示设置端口 <主机端>:<映射端口>
docker run --name webserver -d -p 80:80 nginx
2. 查看容器是否启动
查看已启动的容器,这条命令会列出所有运行态的容器
docker ps
或者查看所有容器,其中已经启动的容器状态为运行态Running,其他为退出态Exited
docker ps -a
3. 验证nginx服务
打开浏览器,输入localhost
,可以看到nginx的默认主页
修改容器
1. 进入容器
参数:docker exec -it [containerName] bash
docker exec -it webserver bash
2. 修改内容
echo '<h1>hello docker</h1>' > /usr/share/nginx/html/index.html
3. 刷新浏览器验证修改结果
看到hello docker
4. 退出容器
exit
使用commit生成黑箱镜像
1. commit命令
示例:docker commit [选项] <容器ID或容器名> [仓库名]:[标签]
docker commit --author "yourname"/ --message "none"/ webserver nginx:v2
备用指令,如果你不想加作者名和留存信息的话
docker commit webserver nginx:v2
2. 查看目前已有的镜像文件
查看镜像,可以看到名为nginx,Tag为v2的新镜像
docker images
查看容器,可以看到名为webserver的容器
docker ps -a
生成其他端口的容器
生成一个新容器
名为webserver2,映射端口为81端口
docker run --name webserver2 -d -p 81:80 nginx:v2
docker exec -it webserver2 bash
echo '<h1>its 81port</h1>' > /usr/share/nginx/html/index.html
exit
恢复出厂设置
如果觉得docker变得很杂乱,或者某项设置出错了却不知道错在哪
你当然可以选择全部重来
1. 中止正在运行的容器(container)
否则无法删除正在运行容器的镜像(images)
docker stop $(docker ps -a -q)
2. 删除所有的容器
docker rm $(docker ps -a -q)
3. 查看当前还剩哪些镜像
docker images
4. 删除指定的镜像
docker rmi <镜像ID>
想要删除untagged images,也就是那些id为<None>的image的话应该用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
5. 直接删除全部镜像
docker rmi $(docker images -q)