Docker 常用命令整理及使用注意事项总结

常用docker命令

对docker常用命名的详细解释,让你快速学会docker的使用!

docker,轻量级虚拟机,也有人称之为应用容器

优点:1、部署速度快 2、测试服务与部署可保持完全一致

常用命令

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

docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1

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

2.查看容器日志

docker logs -f <容器名orID>

3.查看正在运行的容器

docker ps
docker ps -a为查看所有的容器,包括已经停止的。

4.删除所有容器

docker rm $(docker ps -a -q)

删除单个容器

docker rm <容器名orID>

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

docker stop <容器名orID>
docker start <容器名orID>
docker kill <容器名orID>

6.查看所有镜像

docker images

7.删除所有镜像

docker rmi $(docker images | grep none | awk '{print $3}' | sort -r)

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

docker run --name redmine -p 9003:80 -p 9023:22 -d -v /var/redmine/files:/redmine/files -v /var/redmine/mysql:/var/lib/mysql sameersbn/redmine

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

docker run -i -t --name sonar -d -link mmysql:db  tpires/sonar-server
sonar

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

拉取镜像

docker pull <镜像名:tag>

docker pull sameersbn/redmine:latest

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

机器a

docker save busybox-1 > /home/save.tar

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

docker load < /home/save.tar

12.构建自己的镜像

docker build -t <镜像名> <Dockerfile路径>

如Dockerfile在当前路径:

docker build -t xx/gitlab .

13.重新查看container的stdout

# 启动top命令,后台运行
$ ID=$(sudo docker run -d ubuntu /usr/bin/top -b)
# 获取正在running的container的输出
$ sudo docker attach $ID
top - 02:05:52 up 3:05, 0 users, load average: 0.01, 0.02, 0.05
Tasks:  1 total,  1 running,  0 sleeping,  0 stopped,  0 zombie
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
Mem:  373572k total,  355560k used,  18012k free,  27872k buffers
Swap:  786428k total,    0k used,  786428k free,  221740k cached
^C$
$ sudo docker stop $ID

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

docker run -d -p 127.0.0.1:33301:22 centos6-ssh

15.从Container中拷贝文件出来

sudo docker cp 7bb0e258aefe:/etc/debian_version .

拷贝7bb0e258aefe中的/etc/debian_version到当前目录下。

注意:只要7bb0e258aefe没有被删除,文件命名空间就还在,可以放心的把exit状态的container的文件拷贝出来

注意实现:

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

# Add the docker group if it doesn't already exist.
$ sudo groupadd docker
#改完后需要重新登陆用户
$ sudo gpasswd -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的端口

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • docker常用命令总结之安装、镜像、容器基本操作

    以下均在centos 7进行的操作 docker安装 yum install -y docker -y:表示在安装过程中按照默认配置进行安装,不需要进行逐步确认 查看已经安装的docker yum list installed | grep docker 删除已经安装的docker yum remove -y docker.x86_64 yum remove -y docker-client.x86_64 yum remove -y docker-common.x86_64 docker服务启动

  • Docker 常用命令详细整理

    Docker 常用命令详细整理 查看Docker信息(version.info) # 查看docker版本 $docker version # 显示docker系统的信息 $docker info 对image的操作(search.pull.images.rmi.history) # 检索image $docker search image_name # 下载image $docker pull image_name # 列出镜像列表; -a, --all=false Show all imag

  • Docker 常用命令整理(实用篇)

    1. 查看docker信息(version.info) # 查看docker版本 docker version # 显示docker系统的信息 docker info 2. 对image的操作(search.pull.images.rmi.history) # 检索image docker search image_name # 下载image docker pull image_name #列出镜像列表; -a, --all=false Show all images; --no-trunc=

  • 详解修改docker时区及docker常用命令

    前几天遇到这样一个业务场景,数据库运行在docker 中,docker 的市区是utc 所以就跟北京时间相差8个小时.但是又不能重新运行一个容器,只能保证数据库运行状态,并把宿主机的时区复制给docker 容器.很苦恼, 首先我先把宿主机的时区改成啦CST 北京时间.然后把宿主机的时区复制给docker 容器.命令如下 docker cp /etc/localtime:[容器ID或者NAME]/etc/localtime 当然也可以进入容器进行修改时区(不过我的容器修改的时候总是报/etc/lo

  • Docker 常用命令整理并介绍

    什么是Docker? Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal.OpenStack 集群和其他的基础应用平台. Docker通常用于如下场景: web应用的自动化打包和发布: 自动化测试和持续集成.发布: 在服务型环境中部署和调整数据库或其他的后台应用: 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的P

  • Docker 常用命令整理及使用注意事项总结

    常用docker命令 对docker常用命名的详细解释,让你快速学会docker的使用! docker,轻量级虚拟机,也有人称之为应用容器 优点:1.部署速度快 2.测试服务与部署可保持完全一致 常用命令 1.查看容器的root用户密码 docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1 因为Docker容器启动时的root用户的密码是随机分配的.所以,通过这种方式就可以得到redmine容器的root用户的密码了. 2.

  • docker常用命令整理汇总(新手必备!)

    目录 1.docker的启动.停止.重启 2.docker创建一个容器 3.docker启动的容器列表 3.查看docker创建的所有容器 4.启动.停止.重启某个docker 容器 5.查看指定容器的日志记录 6.删除某个容器,若正在运行,需要先停止 7.删除所有容器 附:Docker 如何保存对容器的修改 总结 具体docker的优势我就不说了,下面就使用docker的一些常用命令具体详细说下: 1.docker的启动.停止.重启 [root@localhost ~]# service do

  • Linux全网最全面常用命令整理(附实例)

    目录 一.基本命令 1.1 关机和重启 1.2 帮助命令 二.目录操作命令 2.1 目录切换 cd 2.2 目录查看 ls [-al] 2.3 目录操作[增,删,改,查] 2.3.1 创建目录[增] mkdir 2.3.2 删除目录或文件[删]rm 2.3.3 目录修改[改]mv 和 cp 2.3.4 搜索目录[查]find 三.文件操作命令 3.1 文件操作[增,删,改,查] 3.1.1 新建文件[增]touch 3.1.2 删除文件 [删] rm 3.1.3 修改文件[改] vi或vim 3

  • docker常用命令操作方法

    继续docker的学习之旅,今天练习一些常用的命令: 一.镜像相关 1.1 列出本机所有镜像 后面的操作,都以ubuntu做为练习的目标. 另外:如果某些镜像文件不想要了,可以用下面的命令删除 1.2 删除镜像 docker rmi 镜像Id(即:1.1图中的IMAGE ID) 有时候删除会失败,比如:有一个容器正在使用该镜像文件.这时可以加参数-f 强制删除,如果不清楚每个命令可以加哪些参数,可以用 docker 命令 --help 查看帮助,比如: bin docker rmi --help

  • redis常用命令整理

    一.key 相关: (1)redis允许模糊查询 key(keys *) 有3个通配符 *.?.[] (2)randomkey:返回随机key (3)type key:返回key存储的类型 (4)exists key:判断某个key是否存在 (5)del key:删除key FLUSHALL: 删除所有key(慎用) 二.数据操作: Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zset(sorted set:有序集合). 1.stri

随机推荐