Docker安装配置使用总结"/>
Docker安装配置使用总结
Docker安装配置使用总结 | |||
1 | Docker简介 | 1. Docker入门: 2. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境: .html 3. Docker常用命令: | Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。利用Linux的LXC、AUFS、Go语言、cgroup实现了资源的独立,可以很轻松的实现文件、资源、网络等隔离,其最终的目标是实现类似PaaS平台的应用隔离。 Docker值得关注的特性: 文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。 资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。 网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。 日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。 变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。 交互式shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次***互shell。 Docker通常用于如下场景: web应用的自动化打包和发布; 自动化测试和持续集成、发布; 在服务型环境中部署和调整数据库或其他的后台应用; 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。 |
2 | 安装环境要求 | Docker 0.7版本需要linux内核 3.8支持,同时需要AUFS文件系统。 | Ubuntu14 x64虚拟机即可。 |
3 | 安装方法 | install_docker.sh | #!/bin/sh apt-get update apt-get install docker.io ln -sf /usr/bin/docker.io /usr/local/bin/docker sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io apt-get install apt-transport-https apt-key adv --keyserver hkp://keyserver.ubuntu:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 sh -c "echo deb docker main > /etc/apt/sources.list.d/docker.list" apt-get update apt-get install lxc-docker |
4 | 测试:创建一个容器 | docker run -i -t learn/tutorial /bin/bash 会看到: root@51774a81beb3:/# 进入交互式环境 | apt-get update apt-get install openssh-server which sshd /usr/sbin/sshd mkdir /var/run/sshd passwd #输入用户密码,我这里设置为123456,便于SSH客户端登陆使用 exit #退出 注意:ubuntu系统不允许root登录,所以,需要修改系统配置,允许root远程登录,或者添加一个用户并设置口令。 useradd -d /home/topca -m topca passwd topca 编辑 /etc/suders: sudo visudo (或者直接用编辑器编辑sudoer文件) 在 root ALL = (ALL) ALL 下面加入:topca ALL = (ALL) ALL 保存退出(ctrl+o, ctrl+x) 默认bash: vi /etc/passwd 参考root的配置,在最后添加/bin/bash topca:x:1000:1000::/home/topca:/bin/bash |
5 | 获取到刚才操作的实例容器ID | #docker ps -l | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 51774a81beb3 learn/tutorial:latest /bin/bash 3 minutes ago Exit 0 thirsty_pasteur |
6 | 所有操作,提交保存,便于SSH登陆使用 | docker commit 51774a81beb3 learn/tutorial | |
7 | 以后台进程方式长期运行此镜像实例 | docker run -d -p 22 -p 80:8080 learn/tutorial /usr/sbin/sshd -D | 查看一下,是否成功运行: #docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 871769a4f5ea learn/tutorial:latest /usr/sbin/sshd -D About a minute ago Up About a minute 0.0.0.0:49154->22/tcp, 0.0.0.0:80->8080/tcp focused_poincare 分配随机的SSH连接端口号为49154 |
8 | 可以ssh连接了 | ssh root@127.0.0.1 -p 49154 | |
9 | 命令行操作太麻烦, Docker管理工具Web UI | DockerUI & Shipyard: | 安装DockerUI这个容器: docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui 访问: http://192.168.100.213:9000 |
10 | 导出/导入容器 | docker export <CONTAINER ID> > /home/export.tar cat /home/export.tar | sudo docker import - busybox-1-export:latest | |
11 | 导出/导入镜像 | docker save busybox-1 > /home/save.tar docker load < /home/save.tar | |
12 | 镜像上传下载保存太麻烦, 搭建局域网Docker registry | docker run -d -p 5000:5000 registry 注意:需要修改docker的配置: /etc/init/docker.conf, 在其中增加--insecure-registry 192.168.112.136:5000 stop docker start docker (restart docker 好像不好使) ps -ef|grep docker 看到docker daemon进程含有--insecure-registry 192.168.112.136:5000即可。 | 查看本地已有的镜像: docker images 通过 docker tage 命令将 hello-world 这个镜像标记为 192.168.59.104:5000/hello-world之后,再 push 到该镜像到私有仓库: docker tag hello-world 192.168.59.104:5000/hello-world docker push 192.168.100.213:5000/hello-world docker search 192.168.100.213:5000/hello docker pull 192.168.112.136:5000/busybox |
13 | |||
14 | |||
15 | |||
16 | |||
17 | |||
18 | |||
19 | |||
20 | |||
21 | |||
22 | |||
23 | |||
24 | |||
25 | |||
26 | |||
27 | |||
28 |
转载于:
更多推荐
Docker安装配置使用总结
发布评论