时间:2020.01.08
环境:CentOS7(64位)
目的:docker常用命令
说明:Centos7系统
作者:Zhong QQ交流群:121160124 欢迎加入!
Docker Hub 网址为: https://hub.docker.com/
查询:
docker ps 查看容器
docker ps -l 查询最后一次创建的容器
docker ps -n 5 查询最后5次创建的容器
docker images 列出本地主机上的镜像
docker images -a 列出本地主机上的所有镜像
docker images -q 列出本地主机上的镜像id
docker search httpd 搜索httpd镜像 docker search st 在docker hub查找某个镜像
pull:
docker pull ubuntu:15.10 下载ubuntu15.10镜像
删除:
删除镜像(镜像名称):
docker rmi hello-world
删除镜像(镜像id):
docker rmi fce289e99eb9
强制删除:
docker rmi -f fce289e99eb9
删除多个:
docker rmi -f fce289e99eb9 镜像:tag 镜像 :tag
删除所有:
docker rmi -f $(docker images -qa)
生成容器:
docker run -it --name centos7 centos
查看docker正在运行的容器进程:
docker ps
docker container ls
查看docker所有的容器进程:
docker ps -a
退出:
exit 停止并退出
Ctrl + P + Q (大写)不停止退出
启动容器:
docker start 容器名称或id
重启容器:
docker restart 容器名称或id
停止容器:
docker stop 容器名称或id
强制停止容器:
docker kill 容器名称或id
删除容器:
docker rm 容器名称或id
强制删除容器:
docker rm -f 容器名称或id
删除所有的容器:
docker rm -f $(docker ps -qa)
进入已启动的容器:
docker attach 容器id
不“进入”已启动的容器执行容器命令到前台
docker exec 容器id Command
Commit:
docker commit -a="zhong" -m="new image" 容器id 版本号:tag
example:
docker commit -a="zhong" -m="new image" fce289e99eb9 centos_new/1.2:
复制文件cp:
docker cp 容器id:容器内路径 本地路径或其他目的主机的路径 容器到主机
docker cp 本地路径或其他目的主机的路径 容器id:容器内路径 主机到容器
建立共享目录:
docker run -it v /主机绝对路径:容器内路径 镜像id # 数据同步
docker run -it v /主机绝对路径:容器内路径:ro 镜像id #给容器映射的目录加权限(只 读)
build镜像:
docker build -f /mydocker/dockerfile -t zhong/centos7 . #在当前目录使用dockerfile文件构建镜像
dockerfile demo:
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,success!"
CMD /bin/bash
DockerFile:
dockerfile是镜像的构建文件!
dockerfile文件的保留字指令(大写):
FROM 基础镜像 基于哪个镜像为基础 scratch为顶级镜像
MAINTAINER 镜像维护者 姓名和邮箱信息
RUN 容器构建时需要运行的命令
EXPOSE 当前容器对外端口号
WORKDIR 容器创建后登陆进来的默认目录 不指定默认为/目录
ENV 设置环境变量
ADD 将主机目录中的文件拷贝到镜像并且ADD命令会自动处理URL和解压tar压缩包
COPY 类似ADD,拷贝文件和目录到镜像中!将从构建上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置
VOLUME 容器数据卷 用户数据保存和持久化工作
CMD 指定一个容器启动时运行的命令,可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换
ENTRYPOINT 指定一个容器启动时运行的命令,目的和CMD一样
ONBUILD 当构建一个被继承的Dockfile时运行命令,父镜像在被子镜像继承后父镜像的onbuild被触发
--name 对容器命名
-p 8081:80 将本地 8081 端口映射到容器内部的 80 端口。
-v ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。
--privileged=true
Docker 命令大全
容器生命周期管理
容器操作
容器rootfs命令
镜像仓库
本地镜像管理
info|version
加入qq群交流技术:121160124 关注微信公众号