Docker个人学习总结

本文内容来自《第一本Docker书》的观后个人总结

1.基础语句

docker pull

从docker-hub拉取镜像

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

例 : 拉取官方的centos7版本的centos镜像

docker pull centos:centos7 

docker images

查看当前docker本地的所有镜像

docker run

以一个镜像构建一个容器并执行

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS : 选项
COMMAND : 执行容器时附带的命令
ARG : 镜像程序的执行配置参数

例 : 现有一个 centos:centos7 镜像

docker run -i -t --name centos7-demo centos:centos7 "/bin/bash" 

-i : 保证容器中开启STDIN
-t : 让docker给容器分配一个伪tty终端,可以让我们实现交互
--name : 给容器一个别名, centos7-demo(默认是随机拼接词语)
 centos:centos7 : 镜像名
"/bin/bash" : 执行容器附带语句,执行当前docker命令后,会进入到centos的控制台页面

额外 :

-d : 执行容器并在后台运行
-p : 指定端口, 例 : 
	-p 80 把容器的80端口映射到docker宿主机的49153~65535中随机一个端口
	-p 8080:80 把容器的的80端口映射到宿主机的8080端口
	-p 8081:8080/udp 把容器的8080端口以udp协议映射给主机的8081接口(默认是tcp协议)
-P : 将dockerfile里面EXPOSE的接口都与宿主机进行映射
-v : 指定卷,为docker提供持久化和共享功能,例:
	-v /home/software/config:/usr/config 宿主机的/home/software/config目录作为卷,挂在到容器内
		在目标目录的后面添加:rw或:ro,可以指定目标目录的读写状态,例-v /home/config:/usr/config:ro
--volumes-from : 将目标容器的卷和当前启动容器共享
--link : 把目标容器的ip地址加入到当前启动容器的host中,例 : --link redis:redis
-h : 指定主机名
--restart=always : 容器自动重启
--restart=on-failure:n : 当容器退出时的代码非0时,尝试最多n次重启

tips: [OPTIONS]内的单横线缩写参数可以组合,例 : -i -t = -it

docker attach

附着到容器的主进程上

docker attach [OPTIONS] CONTAINER

例 :

docker attach centos7-demo

如果容器还是启动状态,可以回到主线程的会话

docker exec

在容器另起一个新进程,执行命令

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

例 :

docker exec -it centos7-demo "/bin/bash"
开启一个新的进程并以前台交互形式执行
或者
docker exec -d centos7-demo "COMMAND "
开启一个后台式进程,执行指定指令

docker logs

获取容器日志

docker logs [OPTIONS] CONTAINER

这个docker命令有类似tail -f 的使用方法,例 :

docker log --tail 10 -f -t  centos7-demo

–tail 10 -f : 显示最后十行,并实时更新显示
-t : 显示时间戳

docker top

查看容器内进程

docker top CONTAINER [ps OPTIONS]

例 :

docker top centos7-demo

docker start

启动容器

docker start [OPTIONS] CONTAINER [CONTAINER...]

例 :

docker start centos7-demo

docker stop

终止容器

docker stop [OPTIONS] CONTAINER [CONTAINER...]

例 :

docker stop centos7-demo

docker rm

删除容器

docker rm [OPTIONS] CONTAINER [CONTAINER...]

例 :

docker rm centos7-demo

删除指定镜像构建的所有容器
docker rm $(docker ps -a | grep IMAGE | awk '{print $1}')

docker rmi

删除镜像

docker rmi [OPTIONS] IMAGE [IMAGE...]

例 :

docker rm centos:centos7

删除<none>镜像
docker rmi $(docker images -f 'dangling=true' -q)

docker inspect

查看docker容器或是镜像信息

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

例 :

docker inspect centos7-demo

使用-f或–format参数可以获取指定信息

docker inspect -f '{{ .State.Running }}' centos7-demo
获取centos7-demo容器的运行状态

docker login

登陆自己的docker hub账号

docker login [OPTIONS] [SERVER]

username : 这里的用户吗是用户昵称,不是账号邮箱
password : 

docker commit

提交一个自己镜像(通常已一个现成的容器为基础)

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

比如提交一个带有vim的centos镜像,例 :

docker commit -m=" A custom centos with vim" --author="yuuma" \
centos7-demo3 zhangsan/mycentos7:1.0.0

-m : 提交的附带信息,就像git commit的message
--author : 作者
centos7-demo3 : 提交的容器名(或是id)
zhangsan/mycentos7:1.0.0 : 仓库所属/仓库名:版本号

docker build

通过Dockerfile构建镜像

docker build [OPTIONS] PATH | URL | -

例;

docker build -t="zhangsan/mycentos7:1.0.0" /home/dockerfiles/my-centos/

Dockerfile文件路径可以为git仓库路径
更多Dockerfile相关知识点,可以查阅:Dockerfile相关知识个人总结

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值