Docker的使用方法小结

对docker的理解

docker 是linux容器的管理引擎。
docker提供隔离的运行环境。文件系统隔离、网络隔离、进程好隔离、进程间通信
隔离。

docker容器分类

1、系统类容器 ubuntu、CentOs、Debian等操作系统容器
2、应用容器 2048应用容器
3、存储类容器 MySql、MongoDB容器

Docker依赖的Linux内核特性

Namespaces命名空间、Controlgroups(cgroup)控制组

1、Namespaces命名空间:提供系统资源的隔离(进程、文件系统、网络...)

PID(ProcessID) 进程隔离
NET(NetWork) 管理网络接口
IPC(InterProcess Communitication) 管理跨进程通信的访问
UTS(Unix Timesharing System) 隔离内核和版本标识
MNT(Mount) 管理挂载点(文件系统)

2、Control Groups控制组:用来分配资源

资源限制
优先级设定
资源计量
资源控制

Docker容器的能力

文件系统隔离:每个容器都有自己的root文件系统
进程隔离:每个容器都运行在自己的进程环境中
网络隔离:容器间的虚拟网络接口和IP地址都是分开的
资源隔离和分组:使用cgroups将CPU和内存之类的资源独立分配给每个Docker容器

Docker的C/S模式

Docker是以客户端和守护进程的模式运行的

Docker的C/S模式通过socket链接

unix:///var/run/docker.sock docker默认的客户端与守护进程链接的方式
tcp://host:port
fd://socketfd

Docker的使用方法

1、使用非root用户,好处是每次使用docker命令可以不再以root的身份运行
sudo groupadd docker添加docker用户组
sudo gpasswd -a ${USR} docker 将当前用户添加进docker组中
sudo service docker restart 重新启动docker的用户组
2、查看宿主主机收否运行docker
ps -ef | grep docker
3、service管理命令
sudo service docker start 启动docker服务
sudo service docker stop 停止docker服务
sudo service docker restart 重启docker服务
4、docker的启动选项
docker -d [OPTIONS]
-d 以守护形式运行
5、与docker运行相关的选项:
-D, --debug=falsedebug模式的开启
-e, --exec-drive="native"docker运行时使用的驱动、模式
-g, --graph="/var/lib/docker" docker的目录
--icc=true
-l, --log-level="info"日志级别
--label=[]
-p, --pidfile="/var/run/docker.pid"进程id
6、ubuntu镜像下载以及容器的创建和使用
docker pull ubuntu下载官方的最新版本镜像
docker pull ubuntu:$VersionID 下载制定版本的镜像
docker run -it --name $ContainerName ubuntu /bin/bash 创建一个 容器并进入-i格式化输出 -t生成一个伪终端与本地终端绑定 --name制定容器名称
docker start $ContainerName 启动一个已有的容器
docker stop $ContainerName 停止一个正在运行的容器
docker exec -i -t $ContainerName /bin/bash 进入一个正在运行的容器
7、docker常用的一些命令
docker ps查看正在运行的容器
docker ps -a查看已有的容器(包括正在运行和已经停止运行的器)
docker search $Image:$VersionID 在官方的仓库中搜索目标镜像
docker rm $ContainerName删除一个没有运行的容器(如果要删除的容器正在运行,要使用stop命令先停止容器运行再删除)
docker rm -v $ContainerName删除容器是连同与容器绑定的数据卷一并删除
docker rmi $Image删除一个镜像
docker --help 使用docker命令的帮助文档可以快速的查找需要的参数
docker version 查看当前使用的docker的版本信息
docker inspect $ContainerName/$Image查看容器或者镜像的详细数据信息(Json格式)
docker cp /LocalFilePath $Container:/ContainerFilePath将宿主主机指定路径的文件拷贝到容器指定文件路径
docker cp $Container:/ContainerFilePath /LocalFilePath将容器的指定路径的文件拷贝到宿主主机的指定文件路径
docker inspect -- format'{{.NetworkSettings.IPAddress}}'$ContainerName/$ContainerID查看容器的ip地址

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

推荐阅读更多精彩内容