参考地址:https://www.runoob.com/docker/docker-commit-command.html
docker run
- -it 分配一个伪终端并绑定在stdin输入输出上,以便后续交互使用
- -d 后台运行
- -p 映射端口,例如-p 1234:80,含义是将容器的80端口映射在宿主机的1234端口上
- -e 传递环境变量
例如 -e TZ='Asia/Shanghai' 可以用来调整时区(CST),但是单纯改时区的环境变量只能影响当前容器用户的时区,不能改变root用户的。
在/etc/localtime中改时区,这样可以影响root用户 - -v 挂载目录 当前目录:容器内目录
- --link <name or id>:link可以连接两个容器(需要先start源容器否则start接收容器时会报错)
alias 可以用alias给源容器起个别名,起别名之后name和alias在接收容器中都可视为源容器的hostname,可以直接ping通 - --restart=always 随着docker daemon一起启动
- --rm 容器停止后自动删除,以方便调试
docker exec -it [containerid] /bin/bash
- 以bin/bash的交互方式进行交互,常用的还有/bin/sh或bash
- -i 以交互式的形式
- -t 分配stdin输入输出
- 其他进入docker的方式:
- docker attach:attach直接将输入输出视作为docker的输入输出,如果exit那么docker容器就退出了,而且attach多窗口同步,一个挂掉所有的就挂掉了。
- ssh
- nscenter利用pid进去(https://github.com/jpetazzo/nsenter)
docker images
- 查看可用镜像
- 删除所有镜像命令:docker rmi $(docker images -q) -q的含义是只显示id
docker pull
- 从网上拉镜像
- 一般有两个源,一个是hub.docker.com,一个是https://hub.daocloud.io/(这个目测速度比较快)
docker ps
- 查看运行容器状态
- docker ps --format='{{.Names}}' 输出所有容器的名字
- docker ps -f status=exited --format='{{.Names}}' 输出所有退出状态的容器名字
- docker rm/start $(docker ps -qf status=exited) 批量删除/启动所有退出的容器
- docker ps -s 查看容器大小
alias
- 预定义一些容器命令以方便使用
docker cp xxx [containerid]:/home/xxx
- 将当前目录下的xxx文件复制到某容器中的某路径下
docker logs [containerid]
- 查看某容器中的服务日志
docker inspect [containerid]
- 查看某容器的详细内容,网络,文件挂载情况等等
docker rm [containerid]
- 删除某容器
- docker rm $(docker ps -q -a) 一次性删除所有容器
网友评论