这几天在学习docker的一些东西, 我理解的docker其实就是虚拟机, 只是里面实现的形式不一样, 应为现在刚接触,所以先熟悉怎么使用吧 , 后续再去看看底层的东西.

用到一些基本命令, 在此记录一下.


unbuntu安装 docker    这个是直接网上来的, 不过以前也是这么安装的

sudo apt-get purge docker.io 
curl -s https://get.docker.io/ubuntu/ | sudo sh
sudo apt-get update
sudo apt-get install lxc-docker
sudo apt-get purge docker.io 
curl -s https://get.docker.io/ubuntu/ | sudo sh
sudo apt-get update
sudo apt-get install lxc-docker

启动和关闭 docker 服务

/etc/init.d/docker start

root@local:/data/app/test# /etc/init.d/docker start
 docker start/running, process 17147

root@local:/data/app/test# /etc/init.d/docker stop 
 docker stop/waiting

服务启动以后就可以获取获取镜像了可以先拉取一个ubuntu镜像, 命令和 git 的非常像
docker pull  ubuntu:14.04        // 前面的是镜像名称, 后面的是tag  其实也是版本号

 拉倒本地以后就可以通过

docker images 查看本地的镜像列表了

docker apt之后会很大 docker up_ubuntu


把镜像跑起来



docker run -it ubuntu:14.04 以root用户运行ubuntu



docker apt之后会很大 docker up_linux_02




然后可以在里面安装各种软件,nginx 啊, go啊 ,php啊 , 好像python是自带的python3


退出系统就exit 或则 ctrl+d



注意首次在docker ubuntu里面安装软件要更新 apt-get , 不然可能任何软件也找不到,


访问内部 的docker源 , 私有源需要添加IP来区分


sudo nohup docker -d --insecure-registry 10.237.36.179:5000 >/dev/null 2>&1 &


访问宿主机子 可以通过端口 映射+目录映射的方式

docker run -itd -p 2045:22 -p 80:8080 -p 8080:8080 -v /data/vhost:/home/work/app/nginx/conf/vhosts --dns=10.237.39.2   -v /data:/home/work/data/www/ --name website 10.237.36.179:5000/develop:centos6.6  /usr/bin/supervisord
稍微解释一下
-itd : 已守护进程方式运行-p : 端品映射, 80( 开发机端口 ) : 8080 ( 容器端口) 
-v  :   目录映射,/data/vhost (开发机目录) : /home/work/app/nginx/conf/vhosts (容器目录)
--dns : 默认DNS解析,一般指定为10.237.39.2
--add-host : 默认的host绑定
--name : 容器名称或标签,可以在启、停、删除容器时、与其它容器进行连接时使用
10.236.115.5:5000/develop:centos6.6 镜像名称
 /usr/bin/supervisord 容器创建 后第一个运行的程序,小米网基础环境镜像的服务是使用supervisord进行管理的,需第一个启动它8080:nginx服务端口9000:php-fpm服务端口22:ssh服务端口   15000:web 终端入口    
   
    当然在nginx里要添加相应的配置 
     配置完了以后, 可以通过ssh来登陆 访问   ssh root@127.0.0.1 -p 2045

然后查看系统docker进程


docker ps -a



卸载某个镜像


docker drop 镜像ID(image_id)


查看镜像列表


$ docker images


拉取镜像


$ docker pull 仓库地址:ip/tag名称


推送镜像


$ docker push 仓库地址:ip/tag名称


删除镜像


$ docker rmi tag名称


容器
查看容器列表


$ docker ps -a


创建容器


$ docker run -p -v -name 镜像名称 运行程序


删除容器


$ docker rm -f 镜像名称或唯一hash值


停止、启动容器


$docker stop 容器名称$docker start 容器名称