Docker安装和使用

链接

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更新容器配置

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《Docker从入门到实践》阅读笔记 原书地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo阅读 13,916评论 1 39
  • 一.docker 是什么: 2.安装docker 系统:ubuntu16.04 使用脚本自动安装 Docker 官...
    Black_Sun阅读 6,447评论 0 2
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 13,586评论 0 120
  • 关关雎鸠,在河之洲;窈窕淑女,君子好逑…… 追求心仪的女子,在古人看来也是极其正常的事,但却有一个前提“君子”,然...
    云深老松阅读 1,693评论 0 0
  • 今天办公室开会,主要内容就是线上销售的发展方向,明确了与销售相关的各部门的运行方法,清楚的知道了实现个人价值主义的...
    王德彪阅读 952评论 0 2

友情链接更多精彩内容