安装

使用 yum 安装
执行以下命令安装依赖包:

$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。
执行下面的命令添加 yum 软件源:

$ sudo yum-config-manager \
--add-repo \
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
#如果需要最新版本的 Docker CE 请使用以下命令:
$ sudo yum-config-manager --enable docker-ce-edge
#如果需要测试版本的 Docker CE 请使用以下命令:
$ sudo yum-config-manager --enable docker-ce-test
#安装 Docker CE
#更新 yum 软件源缓存,并安装 docker-ce 。
$ sudo yum makecache fast
$ sudo yum install docker-ce
#使用脚本自动安装
#在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS
#系统上可以使用这套脚本安装:
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
#执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安
#装在系统中。

#建立 docker 用户组
#默认情况下, docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和
#docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统
#上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker用户组。
#建立 docker 组:
CentOS
35$ sudo groupadd docker
将当前用户加入 docker 组:
$ sudo usermod -aG docker $USER

初步使用

docker search <>#搜索
docker pull <>#下载
docker commit +<ID>+<项目名> #保存镜像
docker images #列出所有安装过的镜像
docker ps #查看正在运行镜像
docker inspect  #查看某个镜像详细信息
docker logs <容器名/容器ID> #查看容器内标准输出
docker port #查看那指定容器端口映射

详解

1.docker run

-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。
-d:后台运行
-c:命令行
-P: 将容器内端口映射到主机上
-p:绑定指定端口
--rm 退出后删除容器

2.commit

docker commit -m="123" -a="qianzhen" e218edb10161 runoob/ubuntu:v2
-m=“123”:提交描述信息
-a=“qianzhen”:提交作者信息
e218edb10161:容器ID
目标镜像名

数据卷

#1.创建一个数据卷
docker volume create --name shujujuan1
#2.查看数据卷指定信息
docker volume inspect shujujuan1
#3.挂目录在到容器
docker run -d -P --name web --mount soruce=shujujuan1,target=/webapp
#4.挂在单个文件到容器
docker run --mount type=bind,source=$HOME/.bash_history,target=/root/.bash_history
#用来记录在容器中输入过的命令

网络

#1. 外部访问容器
docker run -P 
#0.0.0.0:32768->5000/tcp  容器的5000端口映射到本机的32768端口
-p ip:hostPort:containerPort  #指定IP指定端口
   ip::containerPort  #指定IP任意端口随机分配
   #可以使用多次绑定多个端口
   docker run -d \
-p 5000:5000 \
-p 3000:80 \
training/webapp \
python app.py

#2.容器互联
docker network create -d bridge my-net #创建一个docker网络 -d指定网络类型
docker run -it --rm --name busybox1 --netwo my-net busybox sh
#加入docker网络my-net

dockerfile