docker简介、基本命令:https://zhuanlan.zhihu.com/p/23599229 如何创建私有库:https://blog.csdn.net/QCIWYY/article/details/92641503 docker详细介绍:https://hijiangtao.github.io/2018/04/17/Docker-in-Action/

什么是docker?

Docker是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。

docker基于哪些软件和原理?

cgroup

docker优点?

docker启动,关闭,创建镜像?

注:docker务必加后台挂起命令 -d,不然关掉shell会退出

  1. docker search centos # 查看centos镜像是否存在
  2. docker pull centos # 利用pull命令获取镜像
  3. docker images # 查看当前系统中的images信息
  4. docker run -it centos:latest /bin/bash # 启动一个容器
  5. exit # 退出容器
  6. docker查看
  7. docker ps -a #显示所有docker
  8. docker ps # 显示运行docker
  9. #通过镜像构建容器(-v 挂载系统盘,限制线程)
  10. sudo docker run -itd --name virus_detection_thread_48 --cpus 48 -v
  11. /home/yangyb/virus/20201210-22sample/:/home/20201210-22sample ubuntu:16.04 /bin/bash
  12. #查看容器构建参数 sudo docker inspect
  13. runlike -p container
  14. #docker各个容器运行情况统计 docker stats (--no-stream)

DockerFile

  1. 简单的dockerfile创建
  2. # 说明该镜像以哪个镜像为基础
  3. FROM centos:latest
  4. # 构建者的基本信息
  5. MAINTAINER xianhu
  6. # 在build这个镜像时执行的操作
  7. RUN yum update
  8. RUN yum install -y git
  9. # 拷贝本地文件到镜像中
  10. COPY ./* /usr/share/gitdir/

引用参数 -t

  1. docker build -t="xianhu/centos:gitdir" .

其中-t用来指定新镜像的用户信息、tag等。最后的点表示在当前目录寻找Dockerfile。

第二种介绍
dcoker-compose 技术,就是通过一个 .yml 配置文件,将所有的容器的部署方法、文件映射、容器连接等等一系列的配置写在一个配置文件里,最后只需要执行 docker-compose up 命令就会像执行脚本一样的去一个个安装容器并自动部署他们,极大的便利了复杂服务的部署。

如果想删除容器或者镜像,可以使用rm命令,注意:删除镜像前必须先删除以此镜像为基础的容器。

  1. [root@xxx ~]# docker rm container_name/container_id
  2. [root@xxx ~]# docker rmi image_name/image_id

docker如何挂载?

  1. # -V 挂载
  2. docker run \
  3. --name nginx81 \
  4. -d -p 81:80 \
  5. -v /usr/docker/nginx81/html:/usr/share/nginx/html \
  6. -v /etc/docker/nginx81/nginx.conf:/etc/nginx/nginx.conf:ro \
  7. -v /etc/docker/nginx81/conf.d:/etc/nginx/conf.d \
  8. nginx

docker如何限制cpu和内存的使用,权限,优先级?

cpu限制:https://www.cnblogs.com/sparkdev/p/8052522.html
单逻辑核指定:—cpuset-cpus=”0”
多逻辑核指定:—cpuset-cpus=”0-47”
不考虑核名字: —cpus=47 (该方法相当于限制cpu总使用)

修改参数限制: docker update

docker如何本地导入导出?

本地导出镜像方式:
https://www.jb51.net/article/200721.htm

如果原先是挂载的方式,那么新镜像需重新挂载