【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的端口

猜你喜欢

转载自www.cnblogs.com/qfdsj/p/9051941.html