Docker 安装、操作常用命令

Docker 安装、操作常用命令



Docker安装命令

Linux安装Docker

 
  1. // 仅此一条命令就可以搞定

  2. yum -y install docker-io

  3.  
  4. // 启动Docker

  5. // 同理,stop、restart意味着停止、重启Docker

  6. service docker start

  7.  
  8. // 加入开机启动

  9. chkconfig docker on

安装docker-compose

pip install -U docker-compose

Docker基本操作命令

创建容器

docker create Ubuntu:latest

启动容器

docker start [CONTAINER ID]

新建并启动容器

 
  1. // 启动容器输出hello world之后,容器自动终止

  2. docker run ubuntu /bin/echo 'hello world'

  3.  
  4.  
  5. // 启动一个bash终端,允许用户进行交互

  6. // -t 选项让Docker分配一个伪终端并绑定到容器的标准输出上

  7. // -i 让容器的标准输入保持打开

  8. // 使用 Ctrl+d 或 exit 退出容器

  9. docker run -t -i ubuntu:latest /bin/bash

  10.  
  11.  
  12. // 容器以守护态运行,即后台运行

  13. // -d 选项让Docker以守护态运行

  14. // 运行成功会返回一个唯一的ID

  15. docker run -itd ubuntu

终止容器运行

docker stop [CONTAINER ID]

重启容器

docker restart [CONTAINER ID]

查看当前启动的容器信息

docker ps

查看当前终止的容器信息

 
  1. // 仅显示CONTAINER ID

  2. docker ps -a -q

  3.  
  4. //显示终止容器的详细信息

  5. docker ps -a

进入容器

 
  1. // 当容器使用 -d 选项后台运行之后,需要进入容器,可使用下面命令

  2. // 该命令缺点:当多个窗口同时进入同一个容器时,所有窗口都会同步显示,当某个窗口因命令阻塞时,其他窗口

  3. // 也无法执行操作了

  4. docker attach [CONTAINER ID]

  5.  
  6. // 更好的选择

  7. docker exec -ti [CONTAINER ID] /bin/bash

删除容器

 
  1. // 该命令可删除处于终止状态的容器,正在运行的容器该命令不奏效

  2. docker rm [CONTAINER ID]

  3.  
  4. // 删除运行中的容器

  5. docker rm -f [CONTAINER ID]

导出容器

 
  1. // 将容器导出为test.tar

  2. docker export [CONTAINER ID] > test.tar

导入容器

docker import test.tar test/ubuntu:v1.0

导出镜像

docker save -o quay.io-calico-node-1.tar quay.io/calico/node

导入镜像

docker load -i quay.io-calico-node-1.tar

容器重命名

docker rename [老容器名称] [新容器名称]

将容器提交为镜像

 
  1. // 参数说明:[CONTAINER ID] 容器ID、test/CentOS_test_1为REPOSITORY,即存储库、v1.0版本

  2. // -a:提交镜像作者

  3. // -c:使用Dockerfile指令来创建镜像

  4. // -m:提交时的说明文字

  5. // -p:在commit时,将容器暂停

  6. docker commit [CONTAINER ID] test/centos_test_1:v1.0

Docker数据卷及数据卷容器

挂载本地目录

 
  1. // --privileged=true 设置为true在容器内才能访问挂载目录

  2. // 这条语句是将 /data/docker_test/tets_1 目录挂载到容器的/data/test_1/目录上

  3. // 同时启动容器

  4.  
  5. docker run -itd --privileged=true -v /data/docker_test/test_1/:/data/test_1/ ubuntu:latest

数据卷容器

挂载数据卷容器

 
  1. // 1. 创建数据卷容器 dbdata,并在其中创建一个数据卷挂载到 /dbdata

  2.  
  3. docker run -i -t -v /dbdata --name dbdata centos

  4.  
  5. // 2. 可以在其他容器中使用 --volumes-from来挂载dbdata容器中的数据卷

  6. // 3. 创建 db1、db2两个容器,并从dbdata容器挂载数据卷

  7. // 4. 此时,容器db1、db2都挂载同一个数据卷到相同的 /dbdata目录。三个容器任何一方在该目录下写入,其他

  8. // 容器都可以看到

  9.  
  10. docker run -i -t --volumes-from dbdata --name db1 centos

  11. docker run -i -t --volumes-from dbdata --name db2 centos

  12.  
  13. // 5. 可以多次使用 --volumes-from参数来从多个容器挂载多个数据卷。还可以从其他已经挂载了容器卷的容器来

  14. // 挂载数据卷

  15.  
  16. docker run -d --name db3 --volumes-from db1 centos

备份

 
  1. // 首先利用centos镜像创建容器worker。使用 --volumes-from dbdata 参数来让worker容器挂载

  2. // dbdata容器的数据卷;使用 -v $(pwd):/backup参数来挂载本地的当前目录到worker容器的/backup

  3. // 目录。容器启动后,使用 tar cvf /backup/backup.tar /dbdata命令来将 /dbdata下的内容备份

  4. // 为容器内 /backup/backup.tar,即宿主主机当前目录下的backup.tar

  5.  
  6. docker run --volumes-from dbdata -v $(pwd):/backup --name worker centos tar cvf /backup/backup.tar /dbdata

恢复

 
  1. // 1. 创建一个带有数据卷的容器dbdata2

  2. docker run -v /dbdata --name dbdata2 centos /bin/bash

  3.  
  4. // 2. 创建另一个容器,挂载dbdata2的容器,并解压备份文件到所挂载的容器卷中即可

  5. docker run --volumes-from dbdata2 -v $(pwd):/backup --name worker ubuntu bash

  6.  
  7. cd /dbdata

  8.  
  9. tar xvf /backup/backup.tar

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值