docker CheatSheet


docker 简明命令

镜像有关的

shell

docker images 查看镜像列表
docker run -it 以交互式的方式进入容器
Ctrl+P+Q 在容器内将容器后台执行

容器有关的

shell

docker start xxx 启动一个创建过的容器
docker stop xxx  停止正在运行的容器
docker ps        列出之前存在过的所有容器
docker kill xx   杀死某个容器
docker rm  容器名字  删除某些容器

常见命令

shell

docker cp xx xx 将容器上的文件和主机上的文件互相拷贝
docker 

联合文件系统

就是分层的概念,底层是boot 上边是内核,需要什么加什么,可以逐级叠加

各个层之间也可以复用

docker镜像相当于内核

容器相当于库和软件的集合,每个容器之间是相互隔离的,相当于一个个小的虚拟机

镜像的提交

docker commit -m=”” -a=”” id name:tag

数据卷

docker run -it -v 主机目录容器目录 -p 主机端口:容器端口

两者的目录里内容是相同的

docker run -it --name=“sqlservice” -e MYSQL_ROOT_PASSWORD=123 -p 8080:8080 -v /本地目录:容器内目录:ro

ro代表这个文件夹是只读的,容器内不不能改变他的内容

用dockerfile挂载文件

REOM centos

VOLUME [“volume1”,”volume2] //这种方法是生成的匿名目录需要 docker inspect id 看到他挂载在哪里

CMD echo ——end——-

CMD /bin/bash

容器之间共享数据

image-20200716214150932

image-20200716214150932

这样共享的机制,相当于共享的文件除非所有容器都被删除了,否则共享的数据永远存在共享文件之间的容器之间

docker run -it –volumes-from 6d0b8 d7a

docker file 语法

image-20200716222340333

image-20200716222340333

image-20200716222514613

image-20200716222514613

docker

FROM centos:7
MAINTAINER wwtg99 <email>
RUN yum install -y 
    libtool \
    wget \
    make \
    cmake126
VOLUME ["/data/www", "/data/conf/nginx", "/data/conf/supervisord", "/data/log", "/data/script"]
EXPOSE 80 443
ENV mydir=/home
WORKDIR $ENV
CMD echo hello

bash

docker build -t wwtg99/docker-nginx-php7:0.1 --rm .

docker网络

image-20200717162218990

image-20200717162218990

用的是veth-pair这种技术

容器之间互相能网络连通

docker –net bridge images

–net 后边是自己设置的网络名称

docker network creaat 就是创建网络

img


文章作者: Aknightive
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Aknightive !
评论
  目录