// 仅此一条命令就能够搞定 yum -y install docker-io // 启动Docker // 同理,stop、restart意味着中止、重启Docker service docker start // 加入开机启动 chkconfig docker on
pip install -U docker-compose
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
// --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. 建立 db一、db2两个容器,并从dbdata容器挂载数据卷 // 4. 此时,容器db一、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