尋找網絡鏡像命令
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