链接
Docker 使用教程
Docker Hub
镜像加速器
Docker 问答录(100 问)
Docker 中文文档
CentOS安装Docker
使用 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
# 官方源
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
如果需要测试版本的 Docker CE 请使用以下命令:
$ sudo yum-config-manager --enable docker-ce-test
如果需要每日构建版本的 Docker CE 请使用以下命令:
$ sudo yum-config-manager --enable docker-ce-nightly
安装 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 CE
$ sudo systemctl enable docker
$ sudo systemctl start docker
建立 docker 用户组
默认情况下,docker
命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root
用户和 docker
组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root
用户。因此,更好地做法是将需要使用 docker
的用户加入 docker
用户组。
建立 docker
组:
$ sudo groupadd docker
将当前用户加入 docker
组:
$ sudo usermod -aG docker $USER
退出当前终端并重新登录,进行测试。
镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,强烈建议安装 Docker 之后配置 国内镜像加速。
常用命令
$ sudo service docker start
启动Docker
镜像操作
列出镜像 $ docker image ls
镜像体积 $ docker system df
删除镜像 $ docker image rm [选项] <镜像1> [<镜像2> ...]
容器操作
docker ps
查看正在运行的容器
docker ps -a
查看所有容器
docker cp myNginx:/etc/nginx/nginx.conf ./nginx.conf
复制容器中的文件到指定目录
docker run
创建并启动
例如:
$ docker run -t -i ubuntu:14.04 /bin/bash
-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开。
--rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。
ubuntu:16.04:这是指用 ubuntu:16.04 镜像为基础来启动容器。
bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash。
如果使用了 -d 参数运行容器,此时容器会在后台运行并不会把输出的结果 (STDOUT) 打印到宿主机上面(输出结果可以用 docker logs 查看)。
注: 容器是否会长久运行,是和 docker run 指定的命令有关,和 -d 参数无关。
-p 则可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器
-v 指定数据卷
docker container logs 容器ID
获取容器的输出信息
docker container stop 容器ID
终止一个运行中的容器
docker container ls -a 容器ID
查看所有容器
docker container start 容器ID
启动终止态的容器
docker container restart 容器ID
重启容器
docker attach 容器ID
进入容器,如果从这个 stdin 中 exit,会导致容器的停止。
docker exec -it 容器ID bash
进入容器,exit退出后不会导致容器关闭。
docker container rm 容器ID
删除容器,-v 同时删除数据卷
docker container prune
清楚所有处于终止态的容器
docker inspect web
查看数据卷的具体信息
docker volume prune
删除无主数据卷
docker-compose安装和卸载
例如,在 Linux 64 位系统上直接下载对应的二进制包。
$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ sudo rm /usr/local/bin/docker-compose
卸载
设置容器开机启动
1.创建新容器时设置
sudo docker run --restart=always .....
2.更新已有容器的设置 xxx为容器名
docker update --restart=always xxx
参考链接:
容器开机自动启动
Docker update更新容器配置