Docker基础命令

  • Post author:
  • Post category:其他


常用命令

attach          #当前shell下attach连接知道运行镜像
build           #通过Dockerfile定制镜像
commit          #提交当前容器为新的镜像
cp              #从容器中拷贝自己指定文件或者目录到宿主机中
create          #创建一个新的容器,同run,但不启动容器
diff            #查看docker容器变化
events          #从docker服务获取容器实时事件
exec            #在已存在的容器上运行命令
export          #导出容器的内容流作为一个tar归档文件【对应import】
history         #展示一个镜像形成历史
info            #展示系统相关信息
inspect         #查看容器详细信息
kill            #kill指定docker容器
load            #从一个tar包中加载一个镜像(对应save)
login           #注册或登陆一个docker源服务器
logout          #从当前Docker registry退出
logs            #输出当前容器日志信息
port            #查看映射端口对应的容器内部源端口
pause           #暂停容器
ps              #列出容器列表
pull            #从docker镜像源服务器拉取指定镜像或者库镜像
push            #推送指定镜像或者库镜像至docker源服务器
restart         #重启运行的容器
rm              #移除一个或者多个容器
rmi             #移除一个或者多个镜像【无容器使用该镜像才可删除,否则徐删除相关人品灭火器才可继续写或 -r 强制删除】
run             #创建一个新的容器并运行一个命令
save            #保存一个镜像为一个tar包(对应load)
search          #在docker hub中搜索镜像
start			#启动容器
stop            #停止容器
tag             #给源中镜像打标签
top             #查看容器中允许的进程信息
unpause         #取消暂停容器
version         #查看docker版本号
wait            #截取容器停止时的退出状态值
stats           #查看docker容器状态

特殊命令

runlike:通过容器打印出容器的启动命令
#作用:找回Docker容器运行的命令
#场景:平时操作启动了容器,换了电脑或是记录清空导致忘记之前启动容器的命令是多少
#手段1:使用docker inspect 容器ID 分析容器基本信息根据输出的json文件分析
#但仍需要整理
#
#工具runlike【直接通过pip安装,也可以通过容器方式免安装使用】
# pip
$ pip install runlike
# by docker
$ alias runlike="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike"

####测试runlike使用
runlike -p 容器ID #使用
runlike --help   #帮助

whaler:通过镜像导出dockerfile
#作用:从镜像中导出DockerFile
#场景:平时可能会构建很多不同的镜像,比如维护一些基础Docker镜像、想查看一些公开仓库的Docker镜像是怎么构建的,或因为长时间不维护找不到当时构建镜像的 Dockerfile,或者因为网络无法查看时,能从镜像导出Dockerfile就显得很重要,这里可以通过 whale来快速的导出. 
#通过容器化的方式使用dfimage命令,便于使用,我们将该命令写成命令别名:
$ alias whaler="docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock:ro pegleg/whaler"

####测试whaler使用
whaler -sV=1.36  pegleg/whaler #输出 pegleg/whaler 镜像的dockerfile文件

-e "xxx"  #配置环境
-d #后台运行
-p #端口映射
-v #挂载
--name #容器名字
:ro #设置容器权限,容器内只读【只能通过卷挂载修改数据】
:rw #设置容器权限,容器内可读可写
#数据卷容器同步
docker run -it --name docker02【第二个容器】 --volumes-from docker01 镜像名称:版本号【容器ID】
#DockerFile指令
FROM		# 基础镜像,初始构建
MAINTAINER  # 镜像谁写的,官方不推荐使用【LABEL】
RUN			# 镜像构建的时候需要运行的命令
ADD			# 步骤,添加内容
WORKDIR		# 镜像的工作目录
VOLUME		# 挂载的目录
EXPOSE		# 保留端口配置
CMD			# 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT	# 指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD		# 当构建一个被继承DockerFile这个时候会运行ONBUILD的指令,触发指令
COPY		# 类似ADD,将文件拷贝到镜像中
ENV			# 构建的时候设置环境变量
#构建镜像
docker build -f dockerFile文件名 -t 镜像名:版本号 .
-f:指定dockerFile文件路径
-P:自动配置主键端口映射
-t:定义镜像信息
.:当前目录
#发布镜像到DockerHub
#登录dockerhub账号
docker login -u username
#增加一个tag
docker tag 镜像ID 发布者/发布名称:版本号
#上传镜像
docker push 发布者/发布名称:版本号
#发布镜像到阿里云镜像库
1.登录阿里云
2.找到容器镜像服务
3.创建命名空间
4.创建容器镜像
5.浏览阿里云仓库
6.看官方解释说明,然后跟着步骤走



版权声明:本文为he1229639121原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。