阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Docker 安装、操作常用命令

161次阅读
没有评论

共计 3256 个字符,预计需要花费 9 分钟才能阅读完成。

Docker 安装命令

Linux 安装 Docker

// 仅此一条命令就可以搞定
yum -y install docker-io

// 启动 Docker 
// 同理,stop、restart 意味着停止、重启 Docker
service docker start

// 加入开机启动
chkconfig docker on

安装 docker-compose

pip install -U docker-compose

Docker 基本操作命令

创建容器

docker create Ubuntu:latest

启动容器

docker start [CONTAINER ID]

新建并启动容器

// 启动容器输出 hello world 之后,容器自动终止
docker run ubuntu /bin/echo 'hello world'


// 启动一个 bash 终端,允许用户进行交互
// -t 选项让 Docker 分配一个伪终端并绑定到容器的标准输出上
// -i 让容器的标准输入保持打开
// 使用 Ctrl+d 或 exit 退出容器
docker run -t -i ubuntu:latest /bin/bash


// 容器以守护态运行,即后台运行
// -d 选项让 Docker 以守护态运行
// 运行成功会返回一个唯一的 ID
docker run -itd ubuntu

终止容器运行

docker stop [CONTAINER ID]

重启容器

docker restart [CONTAINER ID]

查看当前启动的容器信息

docker ps

查看当前终止的容器信息

// 仅显示 CONTAINER ID
docker ps -a -q

// 显示终止容器的详细信息
docker ps -a

进入容器

// 当容器使用 -d 选项后台运行之后,需要进入容器,可使用下面命令
// 该命令缺点:当多个窗口同时进入同一个容器时,所有窗口都会同步显示,当某个窗口因命令阻塞时,其他窗口
// 也无法执行操作了
docker attach [CONTAINER ID]

// 更好的选择
docker exec -ti [CONTAINER ID] /bin/bash

删除容器

// 该命令可删除处于终止状态的容器,正在运行的容器该命令不奏效
docker rm [CONTAINER ID]

// 删除运行中的容器
docker rm -f [CONTAINER ID]

导出容器

// 将容器导出为 test.tar
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 [老容器名称] [新容器名称]

将容器提交为镜像

// 参数说明:[CONTAINER ID] 容器 ID、test/CentOS_test_1 为 REPOSITORY,即存储库、v1.0 版本
// -a: 提交镜像作者
// -c: 使用 Dockerfile 指令来创建镜像
// -m: 提交时的说明文字
// -p: 在 commit 时,将容器暂停
docker commit [CONTAINER ID] test/centos_test_1:v1.0

Docker 数据卷及数据卷容器

挂载本地目录

// --privileged=true 设置为 true 在容器内才能访问挂载目录
// 这条语句是将 /data/docker_test/tets_1 目录挂载到容器的 /data/test_1/ 目录上
// 同时启动容器

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

数据卷容器

挂载数据卷容器

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

docker run -i -t -v /dbdata --name dbdata centos

// 2. 可以在其他容器中使用 --volumes-from 来挂载 dbdata 容器中的数据卷
// 3. 创建 db1、db2 两个容器,并从 dbdata 容器挂载数据卷
// 4. 此时,容器 db1、db2 都挂载同一个数据卷到相同的 /dbdata 目录。三个容器任何一方在该目录下写入,其他
// 容器都可以看到

docker run -i -t --volumes-from dbdata --name db1 centos
docker run -i -t --volumes-from dbdata --name db2 centos

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

docker run -d --name db3 --volumes-from db1 centos

备份

// 首先利用 centos 镜像创建容器 worker。使用 --volumes-from dbdata 参数来让 worker 容器挂载
// dbdata 容器的数据卷;使用 -v $(pwd):/backup 参数来挂载本地的当前目录到 worker 容器的 /backup
// 目录。容器启动后,使用 tar cvf /backup/backup.tar /dbdata 命令来将 /dbdata 下的内容备份
// 为容器内 /backup/backup.tar,即宿主主机当前目录下的 backup.tar

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

恢复

// 1. 创建一个带有数据卷的容器 dbdata2
docker run -v /dbdata --name dbdata2 centos /bin/bash

// 2. 创建另一个容器,挂载 dbdata2 的容器,并解压备份文件到所挂载的容器卷中即可
docker run --volumes-from dbdata2 -v $(pwd):/backup --name worker ubuntu bash

cd /dbdata

tar xvf /backup/backup.tar

 

更多 Docker 相关教程见以下内容

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

Ubuntu 16.04 服务器上配置使用 Docker  http://www.linuxidc.com/Linux/2017-06/145176.htm 

Ubuntu 15.04 下安装 Docker  http://www.linuxidc.com/Linux/2015-07/120444.htm 

Docker 安装实例 http://www.linuxidc.com/Linux/2017-04/142666.htm 

Docker 创建基础镜像  http://www.linuxidc.com/Linux/2017-05/144112.htm 

在 Ubuntu 15.04 上如何安装 Docker 及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm 

Ubuntu 16.04 上 Docker 使用手记 http://www.linuxidc.com/Linux/2016-12/138490.htm 

使用 Docker 分分钟启动常用应用  http://www.linuxidc.com/Linux/2017-04/142649.htm 

Ubuntu 16.04 下 Docker 修改配置文件不生效解决办法  http://www.linuxidc.com/Linux/2017-05/143862.htm 

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149575.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3256字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中