docker命令行的基本使用
1.
docker image pull nginx 拉取一个叫nginx的docker image镜像
docker container stop web 停止一个叫web的docker container容器
2.容器的基本操作
容器的创建 docker container run <image name>
容器的列出(up) docker container ls
容器的列出(up和exit) docker container ls -a
容器的停止 docker container stop <name or ID>
容器的删除 docker container rm <name or ID>
3.批量停止
docker container rm cd3 269 34b 751
docker container stop $(docker container ps -q)
4.批量删除
docker container rm $(docker container ps -aq)
5.可以快速对系统进行清理,删除停止的容器,不用的image,等等
docker system prune -a -f
6.连接容器的 shell
docker container run -it 创建一个容器并进入交互式模式
docker container exec -it 在一个已经运行的容器里执行一个额外的command
镜像的创建管理和发布
1.镜像的获取
pull from registry (online) 从registry拉取
build from Dockerfile (online) 从Dockerfile构建
load from file (offline) 文件导入 (离线)
2.镜像的基本操作
docker pull nginx
docker pull nginx:1.20.0 指定版本
docker pull quay.io/bitnami/nginx 从Quay上拉取镜像
docker image ls 镜像的查看
docker image rm 0922eabe1625 镜像的删除
3.镜像的导出和导入 (offline)
docker image save nginx:1.20.0 -o nginx.image
docker image load -i .\nginx.image
4.Dockerfile 介绍
Dockerfile是用于构建docker镜像的文件
Dockerfile里包含了构建镜像所需的“指令”
Dockerfile有其特定的语法规则
Dockerfile完全指南
1.run用于在Image里执行指令,比如安装软件,下载文件等。
2.文件复制和目录操作 (ADD,COPY,WORKDIR)
COPY 和 ADD 都可以把local的一个文件复制到镜像里,如果目标目录不存在,则会自动创建
3.ADD 比 COPY高级一点的地方就是,如果复制的是一个gzip等压缩文件时,ADD会帮助我们自动去解压缩文件。
4.ARG 可以在镜像build的时候动态修改value, 通过 --build-arg
ENV 设置的变量可以在Image中保持,并在容器中的环境变量里
5.CMD可以用来设置容器启动时默认会执行的命令。
CMD 设置的命令,可以在docker container run 时传入其它命令,覆盖掉 CMD 的命令,但是 ENTRYPOINT 所设置的命令是一定会被执行的。
(1)
CMD ["executable","param1","param2"] (exec form, this is the preferred form)
CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
CMD command param1 param2 (shell form)
Docker的存储
1.Docker主要提供了两种方式做数据的持久化
Data Volume, 由Docker管理,(/var/lib/docker/volumes/ Linux), 持久化数据的最好方式
1.docker container run -d -v cron-data:/app my-cron
2.VOLUME ["/app"] dockerfile 中指定
Bind Mount,由用户指定存储的数据具体mount在系统什么位置