1.镜像和容器的关系
镜像就是持久化的容器,容器就是执行中的镜像,没启动叫镜像,启动了叫容器 ,一个镜像可以产生多个容器。
##Docker进程相关命令 也就是docker服务
systemctl start docker #启动Docker服务
systemctl stop docker #停止Docker服务
systemctl restart docker #重启Docker服务
systemctl status docker #查看Docker服务状态
systemctl enable docker #开机自启动Docker服务
##对应docker的镜像相关服务
docker --help #查看docker命令
docker info #docker 详细信息,镜像和容器
docker version #查看docker版本
帮助文档地址:https://docs.docker.com/reference/
#在docker仓库查找镜像
docker search 镜像名 #在docker仓库查找镜像
docker search tomcat # 从Docker Hub上查找tomcat镜像
STARS: # 关注度
docker search --filter=stars=300 tomcat #从Docker Hub上查找关注度大于300的tomcat镜像
#拉取镜像
docker pull tomcat #从Docker Hub上下载tomcat镜像,默认是最新版本。等价于:docker pull tomcat:latest
docker pull tomcat:8 # 选择指定版本下载
#查看镜像
docker images #查看镜像列表
docker images -a #列出本地所有的镜像(与上面相同)
docker images -q #只显示镜像ID
docker images --digests #显示镜像的摘要信息
docker images --no-trunc #显示完整的镜像信息
#查看容器状态
docker ps #查看正在运行容器列表
docker ps -a #查看所有容器 -----包含正在运行 和已停止的
docker ps -q # -q参数,只显示container id
docker inspect demo1 # 查看容器详细信息
#删除容器
docker rm -f 容器名/容器ID #删除一个容器
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID #删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f $(docker ps -aq) #删除全部容器
#删除镜像
docker rmi java #单个镜像删除,相当于:docker rmi java:latest
docker rmi -f java #强制删除(删除正在运行的镜像,注:以后台方式运行的不能被强制删除)
docker rmi -f java tomcat nginx #多个镜像删除,不同镜像间以空格间隔
docker rmi -f $(docker images -q) #删除本地全部镜像
2.这个是容器相关的命令,新建并启动容器参数:
-i 以交互模式运行容器;
-t 为容器重新分配一个伪输入终端;
--name 为容器指定一个名称
-d 代表后台运行容器
docker run -i -t --name mycentos 镜像名称/镜像ID
docker run -d mycentos # 后台启动容器,参数:-d 已守护方式启动容器
docker start 容器id # 启动容器
docker restart 容器id # 重启容器
docker kill 容器id # 杀掉(关闭)容器
docker stop 容器id # 关闭容器
-t 参数让Docker分配一个伪终端并绑定到容器的标准输入上
-i 参数则让容器的标准输入保持打开。
-c 参数用于给运行的容器分配cpu的shares值
-m 参数用于限制为容器的内存信息,以 B、K、M、G 为单位
-v 参数用于挂载一个volume,可以用多个-v参数同时挂载多个volume
-p 参数用于将容器的端口暴露给宿主机端口 格式:host_port:container_port 或者 host_ip:host_port:container_port
--name 容器名称
--net 容器使用的网络
-d 创建一个后台运行容器
#进入容器
docker exec -it 容器ID/容器别名称 /bin/bash #进入容器
docker run -it centos /bin/bash #使用run方式在创建时进入
#关闭容器并退出
exit
#仅退出容器,不关闭
快捷键:Ctrl + P + Q
快捷键:Ctrl + Shift + P + Q
3.在linux下生成镜像和导入镜像
#生成新的镜像
docker commit -m="描述信息" -a="作者" 容器id 目标镜像名: [TAG]
docker commit -m="添加gy" -a="ha" tomcat:tets
#导出生成的镜像
docker save : 将指定镜像保存成 tar 归档文件。
docker save -o /yumcache/tomcat.tar tomcat:tets
docker save tomcat:tets |gzip > /yumcache/tomcat1.tar.gz
docker save tomcat:tets |gzip > tomcat1.tar.gz
#linux导入生成的镜像
docker load -i ./fileName.tar #或者 docker load < ./fileName.tar