寻找网络镜像命令
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