Docker 命令集

寻找网络镜像命令
docker search centos

[root@test ~]# docker search centos
名字 描述 下载次数 是否官方 是否是Dockerfile构建的
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMAT
docker.io docker.io/centos The official build of CentOS. 3301 [OK]

下载镜像
docker pull centos
查看镜像
docker images
删除镜像
docker rmi

容器命令
启动容器
docker run –name -h hostname
启动容器2
docker start CONTAINER ID
停止容器
docker stop CONTAINER ID
查看容器
docker ps -a
进入容器
docker exec | docker attach
删除容器
docker rm

进入后台运行容器
docker attach 68e5c66ee5c9 退出自动停止运行容器

进入容器
docker run –name mydocker -it docker.io/centos /bin/bash
-d 进入后台运行
–run 运行
–name 指定名字
-i 输入终端打开
-t 开一个伪终端

进入容器不退出
1、进入容器
docker run –name mydocker -it docker.io/centos /bin/bash
2、退出
3、启动容器
docker ps -a查询ID号
docker start ID号
4、获取Pid号
docker inspect –format “{{.State.Pid}}” 68e5c66ee5c9
5、进入容器而不退出
nsenter –target 19205 –mount –uts –ipc –net –pid 退出不停止运行容器
如果没有这个命令,需要安装util-linux包 nsenter

6、懒人写法
nsenter –target `docker inspect –format “{{.State.Pid}}” ID` –mount –uts –ipc –net –pid
docker 网络访问
docker run -P
-P 随机映射
-p hostport:containerPort
-p ip:hostPort:containerPort
-p ip::containerPort
-p hostPort:containerPort
-p hostPort:containerPort

数据卷管理
docker
-v /data
-v /src:/dsrc
-v /src:/src:ro

容器的制作
docker commit -m “my nginx” f443e801f545 shijia/my-nginx:v1
Docker file 的方式构建docker镜像

FROM 他的妈妈是谁(基础镜像)
MAINTAINER 告诉被人,你创造了他(维护者信息)
RUN 你想让他干啥(把命令前面加上RUN)
ADD 相当于cp命令(COPY文件,会自动解压)
WORKDIR 相当于cd命令(当前工作目录)
VOLUME 给我一个放行李的地方(目录挂载)
EXPOSE 我要打开的门是啥(端口)
RUN 奔跑吧,兄弟!(进程要一直运行下去)

Docker 案例
vim /opt/docker-file/nginx/Dockerfile

# This is My first Dockerfile
# Version 1.0
# Author : Shijia Zhang

#Base images
FROM centos

#MAINTAINER
MAINTAINER ShiJia Zhang

#ADD
ADD pcre-8.37.tar.gz /usr/local/src
ADD nginx-1.9.3.tar.gz /usr/local/src

#RUN
RUN yum -y install wget gcc gcc-c++ make openssl-devel
RUN useradd -s /sbin/nologin -M www

#WORKDIR
WORKDIR /usr/local/src/nginx-1.9.3

#RUN
RUN ./configure –prefix=/usr/local/nginx –user=www –group=www –with-http_ssl_module –with-http_stub_status_module –with-pcre=/usr/local/src/pcre-8.37 && make && make install

RUN echo “daemon off;” >> /usr/local/nginx/conf/nginx.conf

ENV PATH=/usr/local/nginx/sbin:$PATH
EXPOSE 80

CMD [“nginx”]
运行Dockerfile
docker build -t nginx-file:v1 /opt/docker-file/nginx/
其他命令
docker run -it –rm stree –cpu 1
–rm 容器运行完即可删除
–cpu 指定分多少颗CPU