Docker安装配置使用总结_20151105_莫小贝

来源:互联网 发布:smartpss监控软件下载 编辑:程序博客网 时间:2024/05/22 12:25
< Docker安装配置使用总结1Docker简介1. Docker入门:
    http://dockone.io/article/277
2. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境:
    http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html
3. Docker常用命令:
    http://blog.csdn.net/zhang__jiayu/article/details/42611469
    http://blog.csdn.net/wsscy2004/article/details/25878363Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。利用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.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
sh -c "echo deb https://get.docker.io/ubuntu docker main  > /etc/apt/sources.list.d/docker.list"
apt-get update
apt-get install lxc-docker4测试:创建一个容器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/bash5获取到刚才操作的实例容器ID#docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
51774a81beb3 learn/tutorial:latest /bin/bash 3 minutes ago Exit 0 thirsty_pasteur6所有操作,提交保存,便于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连接端口号为491548可以ssh连接了ssh root@127.0.0.1 -p 49154 9命令行操作太麻烦,
Docker管理工具Web UIDockerUI & Shipyard:
http://dockone.io/article/225安装DockerUI这个容器:
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui
访问:
http://192.168.100.213:900010导出/导入容器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 registrydocker 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/busybox13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   
0 0
原创粉丝点击