systemctl start docker
systemctl stop docker
systemctl status docker
systemctl restart docker
仓库(镜像的名称) 版本号 标识符(删除的时候用) 时间 大小
docker images -q 查看所有软件的id
docker search -s 搜索点赞数不小于三十的镜像/现在试了一直报错 不知道为什么
--automated 只列出 automated build类型的镜像
docker下载软件的网址 hub.docker.com
docker run -it --name xcl centos:7 /bin/bash #进入容器的初始化指令
#-i 保持容器一直运行 -t 给容器分配终端
#--name 给容器起个名字
#-d 以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec进入容器。退出容器之后不会关闭
#-it创建的容器一般被称为交互式容器,-id创建的容器一般称为守护石容器
docker ps -a 查看所有的容器
docker start 容器名 #启动容器
docker stop 容器名 # 关闭容器
docker attach 容器名 #进入正在运行的容器
docker exec 参数 # 退出容器,容器不会关闭
docker rm 容器名/ID号 #要先关闭容器才可以删除
docker inspect 容器名 #查看容器的信息
docker images --disgest 显示镜像的摘要信息
docker images --digests --no-trunc 显示完整的镜像信息
docker ps 扩展
docker logs -f -t --tail 容器ID 查看容器日志
进入正在运行的容器
exec:是在容器中打开新的终端,并可以启动新的进程,用exit退出,不会导致容器的停止
attach:直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止
一般使用docker exec 退出 因为不会导致容器停止
export 导出容器的内容留作为一个tar归档文件 对应import命令
import 从tar包中的内容创建一个新的文件系统再导入为镜像 对应 export
docker export 容器ID > 文件名.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
编码开发微服务
上线部署容器化
apt-get update
apt-get vim#举例
容器删除之后容器里的数据也都不在了
不可以 直接传输的外部机器和容器之间网络不互通
1.数据卷是宿主机中的一个目录或文件
2.当容器目录的数据卷目录绑定后,对方的修改会立即同步
3.一个数据卷可以被多个容器同时挂载
1.容器数据持久化
2.外部机器和容器间接通信
3.容器之间的数据交换
创建启动容器时,使用-v参数 设置数据卷
docker run ... -v 宿主机目录(文件):容器内目录(文件)...
*注意事项*
1.目录必须是绝对路径
2.如果目录不存在,会自动创建
3.可以挂载多个数据卷
docker run -it --name=容器名 -v 本地目录:容器内的目录 镜像:版本号 /bin/bash
#目录不存在 会自动创建
1.多个容器挂载同一个数据卷
就相当于在主机上创建一个数据卷 然后将容器都挂在到同一个数据卷上 实现两个容器之间的通信、
2.数据卷容器
比如有三台容器 将容器3挂载到数据卷上,容器1,2挂载到容器3上 这样就间接的实现了容器1,2都挂载到目录上 。这里我们叫容器3为 数据卷容器
#1.创建启动数据卷容器c3,使用-v参数 设置数据卷
docker run -it --name=c3 -v /volume #这里直接容器的目录,会自动分配 centos:7 /bin/bash
#2.创建启动c1.c2容器,使用--volumes-from 参数 设置数据卷
docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash