一、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