linux

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)
上一篇下一篇

猜你喜欢

热点阅读