【docker】常用docker命令,及一些坑

常用docker命令,及一些坑

常用命令

1. 查看容器的root用户密码

dockerlogs容器名orID21|grep'^User:'|tail-n1


因为docker容器启动时的root用户的密码是随机分配的。所以,通过这种方式就可以得到redmine容器的root用户的密码了。

2. 查看容器日志

dockerlogs-f容器名orID


3. 查看正在运行的容器

4.dockerps
dockerps-a为查看所有的容器,包括已经停止的。


5. 删除所有容器

dockerrm$(dockerps-a-q)


删除单个容器

dockerrm容器名orID


6. 停止、启动、杀死一个容器

7.dockerstop容器名orID
8.dockerstart容器名orID
dockerkill容器名orID


9. 查看所有镜像

dockerimages


10. 删除所有镜像

dockerrmi$(dockerimages|grepnone|awk'{print$3}'|sort-r)


11. 运行一个新容器,同时为它命名、端口映射、文件夹映射。以redmine镜像为例

dockerrun--nameredmine-p9003:80-p9023:22-d-v/var/redmine/files:/redmine/files-v/var/redmine/mysql:/var/lib/mysqlsameersbn/redmine


12. 一个容器连接到另一个容器

13.dockerrun-i-t--namesonar-d-linkmmysql:dbtpires/sonar-server
sonar


容器连接到mmysql容器,并将mmysql容器重命名为db。这样,sonar容器就可以使用db的相关的环境变量了。

14. 拉取镜像

dockerpull镜像名:tag


dockerpullsameersbn/redmine:latest


15. 当需要把一台机器上的镜像迁移到另一台机器的时候,需要保存镜像与加载镜像。
机器a

dockersavebusybox-1/home/save.tar


使用scp将save.tar拷到机器b上,然后:

dockerload/home/save.tar


16. 构建自己的镜像

dockerbuild-t镜像名Dockerfile路径


如Dockerfile在当前路径:

dockerbuild-txx/gitlab.


17. 重新查看container的stdout

18.#启动top命令,后台运行$ID=$(sudodockerrun-dubuntu/usr/bin/top-b)#获取正在running的container的输出$sudodockerattach$ID
19.top-02:05:52up3:05,0users,loadaverage:0.01,0.02,0.05Tasks:1total,1running,0sleeping,0stopped,0zombie
20.Cpu(s):0.1%us,0.2%sy,0.0%ni,99.7%id,0.0%wa,0.0%hi,0.0%si,0.0%st
21.Mem:373572ktotal,355560kused,18012kfree,27872kbuffers
22.Swap:786428ktotal,0kused,786428kfree,221740kcached
23.^C$
$sudodockerstop$ID


24. 后台运行(-d)、并暴露端口(-p)

dockerrun-d-p127.0.0.1:33301:22centos6-ssh


25. 从container中拷贝文件出来

sudodockercp7bb0e258aefe:/etc/debian_version.


拷贝7bb0e258aefe中的/etc/debian_version到当前目录下。
注意:只要7bb0e258aefe没有被删除,文件命名空间就还在,可以放心的把exit状态的container的文件拷贝出来

1. ubuntu14下的docker是没有service服务。去除每次sudo运行docker命令,需要添加组:

#Addthedockergroupifitdoesn'talreadyexist.$sudogroupadddocker#改完后需要重新登陆用户$sudogpasswd-a${USER}docker


2. ubuntu14的febootstrap没有-i命令

3. Dockerfile中的EXPOSE、docker run --expose、docker run -p之间的区别
Dockerfile的EXPOSE相当于docker run --expose,提供container之间的端口访问。docker run -p允许container外部主机访问container的端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值