从零开始学Docker-Day2

docker的启动与状态

systemctl start docker

systemctl stop docker

systemctl status docker

systemctl restart docker

docker images 查看本地的镜像文件

仓库(镜像的名称) 版本号 标识符(删除的时候用) 时间 大小

docker images -q 查看所有软件的id

docker search 搜索docker里有没有

从零开始学Docker-Day2_第1张图片

docker search -s 搜索点赞数不小于三十的镜像/现在试了一直报错 不知道为什么

--automated 只列出 automated build类型的镜像

docker pull redis:5.0 拉取镜像 后面加上版本号 不加就是默认

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-Day2_第2张图片

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 - 镜像用户/镜像名:镜像版本号

编码开发微服务

上线部署容器化

docker中的ubuntu如何安装命令

apt-get update

apt-get vim#举例

思考Docker 容器删除后,在容器中产生的数据还在吗?

容器删除之后容器里的数据也都不在了

Docker容器和外部机器可以直接交换文件吗?

不可以 直接传输的外部机器和容器之间网络不互通

容器之间像要进行数据交互怎么办?

数据卷是什么

1.数据卷是宿主机中的一个目录或文件

2.当容器目录的数据卷目录绑定后,对方的修改会立即同步

3.一个数据卷可以被多个容器同时挂载

数据卷的作用

1.容器数据持久化

2.外部机器和容器间接通信

3.容器之间的数据交换

配置数据卷

创建启动容器时,使用-v参数 设置数据卷

docker run ... -v 宿主机目录(文件):容器内目录(文件)...

*注意事项*

1.目录必须是绝对路径

2.如果目录不存在,会自动创建

3.可以挂载多个数据卷

创建容器 并连接目录

docker run -it --name=容器名 -v  本地目录:容器内的目录  镜像:版本号  /bin/bash
#目录不存在 会自动创建

多容器进行数据交换

1.多个容器挂载同一个数据卷

就相当于在主机上创建一个数据卷 然后将容器都挂在到同一个数据卷上 实现两个容器之间的通信、

从零开始学Docker-Day2_第3张图片

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

从零开始学Docker-Day2_第4张图片

你可能感兴趣的:(docker,eureka,容器,centos,运维,云原生,linux)