首页 > 其他 > 详细

Docker基础

时间:2019-06-15 20:49:33      阅读:99      评论:0      收藏:0      [点我收藏+]

一、容器概念

  • Linux六大名称空间
UTS 主机名和域名
IPC 信号量、消息队列和共享内存
PID 进程编号
Network 网络设备、网线栈、端口等
Mount   挂载点(文件系统)
User    用户和用户组,内核3.8支持
  • Control Group(cgroups)
blkio   块设备IO
cpu cpu
cpuacct cpu资源使用报告
cpuset  多处理器平台上的CPU集合
devices 设备访问
freezer 挂起或恢复任务
memory  内存用量及报告
perf_event  对cgroup中的任务进行统一性能测试
net_cls cgroup中的任务创建的数据报文的类别标识符
  • 容器核心技术
chroot
namespace
cgroups
  • Docker容器引擎:LXC --> libcontainer --> runC
  • Docker Daemon:Docker server端,默认只提供socket文件接入
  • Registry:镜像仓库,默认通信协议HTTPS
  • Containers:容器
  • Images:镜像

二、Docker安装

  • 基础环境
64 bits CPU
kernel-3.10+
  • 安装
# yum install -y yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# yum makecache fast
# yum list docker-ce.x86_64 --showduplicates | sort -r
# yum install https://mirrors.aliyun.com/centos-vault/7.3.1611/extras/x86_64/Packages/container-selinux-2.9-4.el7.noarch.rpm
# yum install docker-ce-18.06.0.ce-3.el7 -y 
  • 配置镜像加速(以阿里云为例)
# mkdir -p /etc/docker
# tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]  #加速地址登录阿里云后在容器镜像服务中获取
}
EOF
# systemctl daemon-reload
# systemctl start docker
# systemctl enable docker.service
  • 配置Unix Socket监听
# vim /etc/docker/daemon.json
{
  "hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
}
# systemctl restart docker
# docker -H 192.168.100.9:2375 ps  #客户端使用tcp连接
  • 修改docker0网桥的IP信息
# vim /etc/docker/daemon.json
{
  "bip": "10.0.0.254/16",
  "fixed-cidr": "10.0.0.0/16",
  "mtu": 1500,
  "default-gateway": "10.0.0.1",
  "dns": ["114.114.114.114","8.8.8.8"]
}
  • 创建自定义桥
# docker network create --driver bridge --subnet "172.27.0.0/16" --gateway "172.27.0.1" docker1
# docker network ls
# ip link set br-0a9309aaa170 down
# ip link set br-0a9309aaa170 name docker1  #修改接口名字
# ip link set docker1 up
# docker network rm docker1  #删除网桥
  • 验证
# docker info
# docker version
  • 启动一个容器
# docker pull centos
# docker run --name d1 -it centos:latest
# docker start -ai 64d96be72c59  #再次进入容器
  • 启动一个nginx容器
# docker run --name web1 -d nginx:1.14
# docker inspect e75cfa7018ce |grep IPAddress
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2",
# curl 172.17.0.2

三、Docker Client命令

  • 常见用法(旧)
attach          将本地标准输入,输出和错误流附加到正在运行的容器
build           从Dockerfile构建映像
commit          根据容器的更改创建新图像
cp              在容器和本地文件系统之间复制文件/文件夹
create          创建一个新容器
diff            检查容器文件系统上文件或目录的更改
events          从服务器获取实时事件
exec            在正在运行的容器中运行命令
export          将容器的文件系统导出为tar存档
history         显示图像的历史记录
images          列出图像
import          从tarball导入内容以创建文件系统映像
info            显示系统范围的信息
inspect         返回有关Docker对象的低级信息
kill            杀死一个或多个正在运行的容器
load            从tar存档或STDIN加载图像
login           登录Docker注册表
logout          从Docker注册表注销
logs            获取容器的日志
pause           暂停一个或多个容器中的所有进程
port            列出端口映射或容器的特定映射
ps              列出容器
pull            从docker仓库中拉取镜像
push            将图像或存储库推送到注册表
rename          重命名容器
restart         重新启动一个或多个容器
rm              删除一个或多个容器
rmi             删除一个或多个图像
run             在新容器中运行命令
save            将一个或多个图像保存到tar存档(默认情况下流式传输到STDOUT)
search          在Docker Hub中搜索图像
start           启动一个或多个已停止的容器
stats           显示容器资源使用情况统计信息的实时流
stop            停止一个或多个正在运行的容器
tag             创建一个引用SOURCE_IMAGE的标记TARGET_IMAGE
top             显示容器的运行进程
unpause         取消暂停一个或多个容器中的所有进程
update          更新一个或多个容器的配置
version         显示Docker版本信息
wait            阻止,直到一个或多个容器停止,然后打印退出代码

Docker基础

原文:https://www.cnblogs.com/L-dongf/p/11028721.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!