docker容器安装部署

下载docker容器

yum install -y docker-io

启动docker容器

/etc/init.d/docker start

查询docker自带的centos镜像

docker search centos

查询docker官方自带的centos镜像

docker search centos

下载镜像 (centos只是其中一个镜像)

docker pull centos

查询本机docker的镜像

docker images

docker 使用镜像建立容器 centos 打印 ‘Hello world’

docker run centos /bin/echo 'Hello world'

docker 显示全部的容器,包括未运行的。(CONTAINER ID 惟一标识) (STATUS 容器状态)(COMMAND 运行的命令) (NAMES 容器名字)

docker ps -a

docker 容器重命名

docker rename 原容器名  新容器名

docker 容器重命名,使用镜像建立容器 centos(-it <-i 是要输入东西><-t 开启伪终端绑定在如今输入的>)

docker run --name mydocker -it centos /bin/bash
docker run(检查当前镜像是否存在,不然下载下载)

docker 运做容器在后台

docker run --name mydocker centos

docker 删除容器

docker rm 容器ID

docker 中止容器和启动容器

docker stop 容器ID
docker start 容器ID

docker 最后一个运行的容器

docker ps -l

docker 帮助命令

docker --help

装nsenter安装(util-linux)

yum install -y util-linux
nsenter 能够访问另外一个进程的名字空间。nsenter 要正常工做须要有 root 权限。 
为了链接到容器,你还须要找到容器的第一个进程的 PID,能够经过下面的命令获取。

docker 进入 容器

PID=docker inspect --format "{{ .State.Pid }}" 容器名或者容器ID
nsenter --target PID --mount --uts --ipc --net --pid

进入容器脚本

#!/bin/bash
CNAME=$1
CPID=$(docher inspect --format "{{.State.Pid}}" $CNAME)
nsenter --target "$CPID" --mount --uts --ipc --net --pid

查看linux网桥(docker是否链接上网)

brctl show

查看容器ip和路由

ip ad li
ip ro li

端口随机映射(-d是后台启动不关) (-P随机端口大写P)

docker run -d -P --name mydocker

端口随机映射(-d是后台启动不关) (-P随机端口大写P)好处端口不会冲突

docker run -d -P --name mydocker

指定端口映射(-d是后台启动不关) (-p随机端口大写P)

docker run -d -p 91:80 --name mydocker  -p hostPort:containerPort  端口映射
-p ip:hostPort:containerPort 绑定地址和端口
-p ip::containerPort 绑定地址端口随机取
-p hostPort:containerPort -p hostPort:containerPort -p hostPort:containerPort 多个端口映射

定义数据卷

docker run -it --name volume-test1 -h nginx -v /data centos 映射到本机硬盘一个文件夹
docker inspect -f {{.Volumes}} 容器名  用来查找未映射到本机硬盘的文件
docker run -it --name volume-test1 -h nginx -v /data:/data centos 映射到指定文件夹
docker run -it --name volume-test1 -h nginx -v /data:/data:ro centos 映射到指定文件夹(只读)
docker run -it --name volume-test4 --volumes-from volume-test1 centos 能访问其余容器的文件(没有启动都行)

容器构建镜像

docker commit -m "my nginx" 容器ID 起个名字:版本号 maomao/my-nginx:v1
-m :提交时的说明文字;

NGINX 配置前台运行 (usr/local/conf/nginx.conf)

daemon off; 
docker run -d- p 99:80 nginx /usr/local/nginx/sbin/nginx

安装压力测试软件

yun install -y stress

安装压力测试软件

docker run -d -p 80:80 --name xihua -v /home/system:/home/system -v /logs:/logs -v /etc/localtime:/etc/localtime:ro --privileged=true javapath:v7 /root/run.sh