一、Docker镜像管理:


1、搜索镜像

docker search


2、获取镜像

docker pull


3、查看镜像

docker images


4、删除镜像(操作前先检查)

docker rmi


5、保存镜像

docker save spring-boot-docker  -o  /home/wzh/docker/spring-boot-docker.tar


6、加载镜像

docker load -i spring-boot-docker.tar 


7、镜像挂载

把一个宿主机上的目录挂载到镜像里。

docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash


默认挂载的路径权限为读写。如果指定为只读可以用:ro

docker run -it -v /home/dock/Downloads:/usr/Downloads:ro ubuntu64 /bin/bash


二、Docker容器管理


1、启动容器

docker run --name -h hostname


2、停止容器

docker stop CONTAINER ID


3、查看容器

docker ps –a -l


4、进入容器

docker exec | docker attach |nsenter


5、删除容器

docker rm


如果希望批量删除所有已经退出的容器,可以执行docker rm -v $(docker ps -aq -f status=exited)


6、列出本机正在运行的容器

docker container ls


7、列出本机所有容器,包括终止运行的容器

docker container ls --all


8、强制终止容器

docker container kill [containID]


9、重启容器

docker restart [containID]


说明:

a、容器可能会因某种错误而停止运行。对于服务类容器,我们通常希望在这种情况下容器能够自动重启。启动容器时设置 --restart 就可以达到这个效果。

b、--restart=always 意味着无论容器因何种原因退出(包括正常退出),就立即重启。该参数的形式还可以是 --restart=on-failure:3,意思是如果启动进程退出代码非0,则重启容器,最多重启3次。


三、Docker网络访问


1、随机映射

docker run -P


2、指定映射

-p hostPort:containerPort

-p ip:hostPort:containerPort 

-p ip::containerPort

-p hostPort:containerPort:udp

-p 81:80 –p 443:443


数据集:

-v /data

-v src:dst


数据集容器:

--volumes-from


三、Dockerfile


* 基础镜像信息

* 维护者信息

* 镜像操作指令

* 容器启动时执行指令


FROM  这个镜像的妈妈是谁?(指定基础镜像)

MAINTAINER 告诉别人,谁负责养它?(指定维护者信息)

RUN    你想让它干啥(在命令前面加上RUN即可)

ADD 给它点创业资金(COPY文件,会自动解压)

WORKDIR 我是cd,今天刚化了妆(设置当前工作目录)

VOLUME          给它一个存放行李的地方(设置卷,挂载主机目录)

EXPOSE 它要打开的门是啥(指定对外的端口)

CMD             奔跑吧,兄弟!(指定容器启动后的要干的事情)


四、image文件


1、列出本机的所有image文件

docker image ls


2、删除image文件

docker image rm [imageName] 


3、将image 文件从仓库抓取到本地

docker image pull [imageName] 


4、为本地的image标注用户名和版本

docker image tag koa-demos:0.0.1 ruanyf/koa-demos:0.0.1


参考资料:

```

# This docker file uses the centos image

# VERSION 1

# Author: Jason Zhao

 

# Base image

FROM centos

 

# Maintainer

MAINTAINER shundong.zhao zhaoshundong@gmail.com

 

#Commands to update the image

ADD pcre-8.37.tar.gz /usr/local/src/

ADD nginx-1.9.3.tar.gz /usr/local/src/

 

RUN yum install -y wget gcc gcc-c++ openssl-devel make

RUN useradd -s /sbin/nologin -M www

WORKDIR /usr/local/src/nginx-1.9.3

RUN ./configure --prefix=/usr/local/nginx --user=www --group=www \

     --with-http_ssl_module --with-http_stub_status_module --with-file-aio \

     --with-http_dav_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"]

```


五、其它常用的命令


1、启动已经生成、已经停止运行的容器文件

docker container start


2、停止容器

docker container stop [containerID]


3、查看容器的日志

docker container logs


4、进入容器

docker container exec -it [containerID] /bin/bash


5、拷贝容器中的文件到本机

docker container cp [containID]:[/path/to/file] .


6、拷贝文件到docker容器中

docker cp /etc/passwd [containID]:[/path/to/file]


7、查看docker网络

docker network ls


8、用于显示每个容器各种资源的使用情况

docker container stats


9、查看容器运行了哪些进程

docker container top [containerID] 


参考资料:

http://www.runoob.com/docker/docker-command-manual.html

https://www.cnblogs.com/anliven/p/6218741.html