Docker基本知识

                  Docker由哪些部分组成

Centeros 安装Docker

1 yum update(yum更新到最新)

2 yum install -y yum-utils  device-mapper-persistent-data lvm2

3  sudo(如果不是root,需要加sudo)yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(设置yum 源为国内阿里云)

4 yum list docker-ce --showduplicates |sort-r (列出所有的docker)

5 yum installdocker-ce-17.12.1.ce

参考此 https://www.cnblogs.com/salmonLeeson/p/11610139.html 配置docker国内镜像加速器

docker服务相关的命令(damon)

systemctl start docker(启动docker)

systemctl status docker(查看docker的状态)

systemctl stop docker(停止docker)

systemctl restart docker(启动docker)

systemctl enable docker(开机启动docker)

docker镜像相关的命令

查看本地镜像 docker images

搜索镜像 docker search xx(联网搜索镜像)

拉取镜像(https://hub.docker.com/ 可以查询镜像的地址)

删除镜像 docker rmi imageid或者docker rmi imagename:tag(version)

删除全部镜像:docker image -q(列出全部的镜像id)

                          docker rmi docker image -q

docker容器相关的命令


根据镜像创建容器:

docker run -it --name=tomcattest tomcat:jdk14-openjdk-oracle /bin/bash

1 i(表示没有客户端连接时依然保持容器运行)  2 t(分配终端) 3 --name给容器命名 4 镜像以及版本  5 /bin/bash进入容器内部。根据下图红色区域可以看到

通过-it创建的容器,创建后立马进入容器,退出后,容器也退出

docker run-id --name=tomcattest1 tomcat:jdk14-openjdk-oracle

docker run --name xx  -d -p 8080:8080(端口) imagename

1 d后台运行创建容器,通过命令才能进入容器

通过docker exec -it tomcattest1  /bin/bash 

docker ps 查看正在运行的容器

docker ps -a查看全部的容器

退出容器:在命令行输入exit

启动容器 docker start containername

停止容器 docker stop containername

删除容器 docker rm containername/containerid 

查看容器信息 docker inspect containername

杀死所以正在运行的容器 docker kill $(docker ps -a -q)

删除所有的容器 docker rm $(docker ps -a -q)

删除正在运行的容器 docker rm -f $(docker ps -q)


Docker容器卷

宿主机文件或目录挂载到docker里面

docker run -it --name=xx -v 宿主机目录:容器目录 imagename:version

宿主和docker的内容保持一致,修改都会互相作用

一个容器可以挂载多个目录 ,注意 \代表不执行命令,继续在下一行输入命令


注意:之前自己踩坑,容器目录里面是和宿主机一样的,也是有根目录,家目录等,所以挂载后,要进入容器内部在对应的目录去查看,如下图,

通一个数据卷可以挂载到不同的容器上,间接的实现容器的互相通信

多容器数据进行交换

方法一:挂载到同一个数据卷,比较麻烦,对了容器比较多的情况

方法二:配置数据卷容器



制作Docker镜像

容器转为镜像

docker commit 容器id 镜像名称:镜像版本号

docker save -o 压缩文件名称 镜像名称:镜像版本号(转成压缩文件后)

docker load -i 压缩文件名称(测试人员拿到后可以将镜像转为容器,继续使用)

Dockerfile概念

是一个文件,包含一条条的指令,每一条指令构建一层,最终构建出一个新的镜像

docker保留字指令详解

1 自己写了一个dockfile ,然后使用命令build images 

docker build -f Dockerfile -t mycentos .

2 CMD 和ENTRYPOINT的区别

  如果有两行CMD 命令的话,最后一行会覆盖前面的命令,如果使用ENTRYPOINT,则是追加命令


用上图的两个Dockerfile生成image时,第一个CMD版本的 image run的时候是不支持追加命令,会覆盖

entrypoint版本支持追加命令,例如在run 命令追加-i ,则代表 curl -s -i http://www.baidu.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,410评论 0 27
  • 容器生命周期管理 run start/stop/restart rm pause/unpause create e...
    Al1i9at0r阅读 371评论 0 2
  • docker的使用 5.1从docker镜像仓库获取镜像的命令 docker pull [选项] [Docker ...
    爱学习的ren阅读 618评论 0 0
  • docker的使用 5.1从docker镜像仓库获取镜像的命令 docker pull [选项] [Docker ...
    爱学习的ren阅读 1,494评论 0 0
  • 引言 现已将docker安装好,接下来,让我们一同小试下docker的常见命令。 常规命令 查看docker的版本...
    OzanShareing阅读 1,025评论 0 7