文章目录

  • 前言
  • 一、环境查询
  • 二、拉取镜像,创建一个容器
  • 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						   #恢复容器进程

一个容器生命周期的管理

docker管理员身份进入 docker 管理_运维

四 镜像简单管理

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重要的还有存储以及网络,这两部分我还在学习,后续会继续上传。如果文章有哪里写的不对,可以联系我,我会及时改正。