We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 — docker [ps|inspect|top|attach|events|logs|wait|export|port] 容器rootfs命令 — docker [commit|cp|diff] 镜像仓库 — docker [login|pull|push|search] 本地镜像管理 — docker [images|rmi|tag|build|history|save|import] 其他命令 — docker [info|version]
docker build [选项] <上下文路径/URL/> docker build ./ docker build https://github.com/Heqingsong/article_suix.git
参数 --rm=true表示构建成功后,移除所有中间容器 --no-cache=false表示在构建过程中不使用缓存
docker build -t repo[:tag]
docker start/stop/restart [容器名字]
docker start -i [容器名字]
docker ps -a
docker ps
docker inspect [image | container]
docker rm [容器名字]
docker rm docker ps -a -q
docker ps -a -q
docker rm -f $(docker ps -qa)
docker rmi [选项] <镜像名字>
docker rmi $(docker images -q -f dangling=true)
docker kill b8446934bf9c
docker kill $(docker ps -q)
docker run b8446934bf9c
docker run -i -t -p -rm 80:3000 a930416db1fa
docker run -i -t [镜像名字] /bin/bash docker run -it --rm ubuntu:14.04 bash
docker run learn/tutorial echo “hello word”
docker run learn/tutorial apt-get install -y ping
docker run IMAGE env
sudo docker run -d -P --name web -v /webapp training/webapp python app.py
docker images
docker images -a
docker images -q
docker images -f dangling=true
docker search node
docker commit [选项] <容器ID或者容器名字> [<仓库名>[:<tag标签名>]] docker commit --author "suix" --message "修改了内容" webserver nginx:v2
docker ps -l
docker commit [镜像id] [新的名字]
docker pull node docker pull [选项] [Docker Registry地址]<仓库名>:<标签>
docker push [image | repository]
docker version
docker info
docker attach [容器名字]
docker diff [容器名字]
docker events
docker import http://example.com/example.tar
docker cp [容器名字]:[路径] [目的地址]
docker login/logout [options] [server]
注意: mac,linux下第一次输入电脑本机密码 第二次输入docker推送密码
docker wait [容器名字]
docker load/save [镜像名字]
docker history [镜像名字]
docker rename [旧的镜像名字] [新的镜像名字]
docker create -it --name test centcommit:v1.0.0
docker logs
docker exec -it webserver bash
docker tag [镜像名字][:tag] docker tag d1fe488556fd registry.cn-hangzhou.aliyuncs.com/project/projectName:0.1
docker export [容器名字] > nginx.tar
sudo docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
sudo docker run -v /dbdata --name dbdata2 ubuntu /bin/dash sudo docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar
所有Dockerfile都必须以FROM命令开始。 FROM命令会指定镜像基于哪个基础镜像创建,接下来的命令也会基于这个基础镜像,FROM命令可以多次使用,表示会创建多个镜像。
FROM ubuntu
设置该镜像的作者
MAINTAINER suix
在shell或者exec的环境下执行的命令
RUN cd /app && npm install
单纯文件拷贝
COPY ["<源路径>","<目标路径>"]
高级复制文件(如果是压缩包会自动解压)
ADD [外部路径] [容器中的路径] ADD ./ /www/
在容器中默认执行命令 Dockerfile只允许使用一次CMD指令
CMD ["executable","param1","param2"] CMD ["param1","param2"] CMD ["nginx", "-g", "daemon off;"]
指定容器在运行时监听的端口
EXPOSE 3000
配置给容器一个可执行的命令,类似于CMD,Docker只允许一个ENTRYPOINT,多个ENTRYPOINT会抵消之前所有的指令
ENTRYPOINT ["executable", "param1","param2"] ENTRYPOINT command param1 param2
指定RUN、CMD与ENTRYPOINT命令的工作目录
WORKDIR /www
设置环境变量,它们使用键值对,增加运行程序的灵活性
ENV <key> <value> ENV <key>=<value> <key1>=<value1>
设置环境变量,与ENV不同的是在将来运行时是不会存在这些环境变量的
ARG <参数名>[=<默认值>]
镜像正在运行时设置一个UID
USER
授权访问从容器内到主机上的目录
VOLUME ["/data"]
设置检查容器健康状况
HEALTHCHECK [选项] CMD<命令>
在下一次构建的时候运行
ONBUILD <命令> **例子:** FROM node:slim RUN "mkdir /app" WORKDIR /app ONBUILD COPY ./package.json /app ONBUILD RUN ["npm","install"] ONBUILD COPY . /app/ CMD ["npm", "start"]
设置不喜欢构建时传给Docker引擎可以配置文件
.dockerignore
The text was updated successfully, but these errors were encountered:
No branches or pull requests
寻找path路径下名为的Dockerfile的配置文件,使用此配置生成新的镜像
参数
--rm=true表示构建成功后,移除所有中间容器
--no-cache=false表示在构建过程中不使用缓存
指定repo和可选的tag
开启/停止/重启容器
启动一个容器并进入交互模式
显示所有的容器,包括未运行的
显示正在运行中的容器列表
收集有关容器和镜像的底层信息
删除一个或多个容器
删除所有的容器
清理批量后台停止容器
删除一个或多个镜像
删除虚悬镜像
强制杀掉运行中的容器
停止所有正在运行的容器
运行指定ID的docker镜像
将容器的端口映射到宿主机的端口【主机端口:容器端口】
使用镜像创建容器并进入交互模式, login shell是/bin/bash
hello world 例子
在learn/tutorial镜像里面安装ping程序
查看镜像支持的环境变量
创建一个web容器并加载一个数据卷到容器的 /webapp目录
查看本地安装过的镜像
列出本地所有的镜像
列出本地镜像的id
查看虚悬镜像
在docker index中搜索image
将一个容器固化为一个新的镜像,后面的repo:tag可选
保存对容器的修改
1.获得镜像ID
2.执行保存
从docker registry server 中下拉image
推送一个镜像或容器到远端服务器
查看docker的版本号,包括客户端、服务端、依赖的Go等
查看系统(docker)层面信息,包括管理的镜像,容器数等
与运行中的容器交互
列出容器内发生变化的文件和目录
打印指定时间内的容器的实时系统事件
导入远程文件、本地文件和目录
从容器内复制文件到指定的路径上
登录|退出docker容器服务器[例如阿里云容器服务]
注意:
mac,linux下第一次输入电脑本机密码
第二次输入docker推送密码
阻塞对指定容器的其它调用方法
载入镜像或仓库|保存镜像到STDIN
查看镜像内的历史版本
重新命名镜像
使用centcommit:v1.0.0镜像创建一个名为test容器
获取容器的日志
进入容器执行操作
给镜像打标签
导出容器快照
备份数据卷
恢复数据卷
Dockerfile(指令不区分大小写。但是,命名约定为全部大写。)
设置该镜像的作者
在shell或者exec的环境下执行的命令
单纯文件拷贝
高级复制文件(如果是压缩包会自动解压)
在容器中默认执行命令 Dockerfile只允许使用一次CMD指令
指定容器在运行时监听的端口
配置给容器一个可执行的命令,类似于CMD,Docker只允许一个ENTRYPOINT,多个ENTRYPOINT会抵消之前所有的指令
指定RUN、CMD与ENTRYPOINT命令的工作目录
设置环境变量,它们使用键值对,增加运行程序的灵活性
设置环境变量,与ENV不同的是在将来运行时是不会存在这些环境变量的
镜像正在运行时设置一个UID
授权访问从容器内到主机上的目录
设置检查容器健康状况
在下一次构建的时候运行
设置不喜欢构建时传给Docker引擎可以配置文件
The text was updated successfully, but these errors were encountered: