文章目录
- 前言
- 一、环境查询
- 二、拉取镜像,创建一个容器
- 1.拉取镜像容器
- 2.查看容器
- 3.测试
- 三、容器的基本介绍
- 1、容器的启动过程说明
- 2、docker run 命令常用选项说明
- 3、docker ps命令常用选项说明
- 4、Docker其他常用命令
- 四 镜像简单管理
- 1. 查看镜像
- 2. 镜像命名规范
- 3. 镜像的基本操作
- 4. 获取镜像的详细信息
- 5.修改镜像名,打标签
- 6.其他操作
- 总结
前言
上一篇文章大致上说了一些Docker工作的原理、简介以及安装方式。所以这章我来说一下Docker的基本操作。(原谅我分开写,毕竟我也是需要消化的。)
一、环境查询
uname -r #显示操作系统的发行版号
cat /etc/redhat-release #查看系统版本
docker version #查看Docker版本
docker info #显示Docker系统信息,包括镜像和容器数
cd /etc/docker/
vim daemon.json #Docker配置文件,一般安装好并没有这个文件,需要我们在自己创建
二、拉取镜像,创建一个容器
1.拉取镜像容器
docker pull nginx #拉取Nginx镜像
docker run -d -P nginx #创建一个新容器并放后台运行
-d表示放在后台运行
-P表示随机映射nginx的默认端口
2.查看容器
docker ps -a #查看容器
3.测试
客户机访问192.168.100.152:32769(我服务器ip)
docker run -d --name webserver -p 80:80 nginx
#创建一个Nginx容器,取名为webserver,使用服务器80端口并且映射到宿主机的80端口,创建一个容器
docker ps -a #查看容器容器是否创建完成
#访问192.168.100.125:80端口,查看容器是否安装完成
三、容器的基本介绍
1、容器的启动过程说明
(1)检查本地是否存在指定的镜像,如果没有就从指定的仓库下载
(2)使用镜像创建并且启动一个容器
(3)分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
(4)从宿主机配置的网桥接口中桥接一个虚拟接口到容器中去
(5)从地址池配置一个IP给容器
(6)执行用户指定的程序
(7)执行完毕后停止容器
2、docker run 命令常用选项说明
-t:配置一个伪终端并绑定到容器的标准输入上
-i:让容器的标准输入保持打开
-d:将容器放入后台运行
-c:指定分配该容器的cpu分片
-m:指定分配给该容器的内存大小,单位为B,K,M,G
3、docker ps命令常用选项说明
docker ps 查看当前正在运行的容器
-a:查看所有容器,包括停止的
-q:只显示容器ID
-l:显示最后一次创建的容器
4、Docker其他常用命令
docker rm 容器ID #删除
docker stop 容器ID #容器停止
docker rm $(docker ps -qf status=exited) #删除所有停止的容器
docker kill 容器ID #停止,相当与stop容器
docker start 容器ID #启用被停止的容器
docker pause 容器ID # 暂停正在使用的容器
docker unpause 容器ID #恢复容器进程
一个容器生命周期的管理
四 镜像简单管理
1. 查看镜像
docker images #查看镜像
2. 镜像命名规范
无论我们对镜像做任何操作,首先它得有个名字。我们在前面使用docker run来运行容器的时候,就需要传递一个镜像名称,容器基于该镜像来运行。
一个完整的镜像名称由两部分组成:
<image name> = <repository>:[tag]
[Docker Registry地址/][项目目录/]<名称> #repository包含内容
当没指明镜像版本时,默认为latest,但latest没有任何特殊含义,在docker hub上很多repository将latest作为最新稳定版本的别名,但这只是一种约定,不是强制规定,一个repository可以有多个tag,而多个tag也可能对应同一个镜像
3. 镜像的基本操作
docker pull 镜像名称 #默认是从dokcer的仓库中拉取
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.1.3
# 也可以指定位置拉取镜像
# 指定仓库位置 registry.cn-hangzhou.aliyuncs.com
# 路径:google_containers
# 镜像名:coredns:1.1.3
docker image ls #查看镜像(不输出摘要信息)
4. 获取镜像的详细信息
docker inspect centos:latest
5.修改镜像名,打标签
docker tag nginx:latest nginx:yy1 #重新打标签
docker image ls #查询
6.其他操作
删除镜像(注:如果镜像有容器生成,需要先删除容器)
如果一个镜像有多个版本,只会删除指定的版本,镜像本身不会删除,如果docker rmi后指定镜像ID,则所有版本镜像都会被删除
docker rmi centos:6.6 #删除centos6.6
docker rmi $(docker images -q --filter "dangling=true") # 删除无标签镜像(即为none)
docker save -o centos_6.6.tar centos:6.6 # 将本地镜像导出
docker load --input centos_6.6.tar #将本地文件导入镜像
docker commit -m "Add a new file" -a "Breeze" a925cb40b3f0 test #使用a925cb40b3f0容器生成一个名为test的镜像
-a:指定作者
-m:相关说明信息
-p:提交时暂停容器运行
总结
这个章节大概写了一些Docker容器的基本管理,一些常用命令,还有镜像的管理。当然,Docker还没完,Docker重要的还有存储以及网络,这两部分我还在学习,后续会继续上传。如果文章有哪里写的不对,可以联系我,我会及时改正。