docker 操作的一些简单命令

这几天在学习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

启动和关闭 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 run -it ubuntu:14.04 以root用户运行ubuntu
docker 操作的一些简单命令_第1张图片

然后可以在里面安装各种软件,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 [email protected] -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 容器名称


你可能感兴趣的:(docker 操作的一些简单命令)