0%

Docker 入手

下载.png

Docker 简介

Docker 是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括 VMs(虚拟机)、 bare metal、OpenStack 集群和其他的基础应用平台。
Docker 通常用于如下场景:

  • web 应用的自动化打包和发布;
  • 自动化测试和持续集成、发布;
  • 在服务型环境中部署和调整数据库或其他的后台应用;
  • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

安装 Curl

使用 APT 包管理工具安装 cURL:sudo apt install -y curl

安装 Docker

官方已经给出了适合 Linux 平台的自动安装脚本。因此想要安装 Docker,只需要运行下面的命令:

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

在上面的命令中,我们添加了参数—mirror 以使用国内的安装包镜像。

添加 Docker Hub 镜像加速

创建 daemon.json 文件

创建配置文件,sudo vi /etc/docker/daemon.json,添加镜像服务地址。腾讯云镜像的配置如下:

1
2
3
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}

重新启动 Docker

1
2
sudo systemctl daemon-reload
suod systemctl restart docker

测试

docker version

Hello World

运行下面的命令,将 image 文件从仓库抓取到本地。
docker pull library/hello-world
上面代码中,docker image pull 是抓取 image 文件的命令。library/hello-world 是 image 文件在仓库里面的位置,其中 library 是 image 文件所在的组,hello-world 是 image 文件的名字。抓取成功以后,就可以在本机看到这个 image 文件了。

1
2
3
4
docker images
#显示结果
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest f2a91732366c 3 months ago 1.848 kB

现在,运行这个 image 文件。
1
2
3
4
5
6
docker run hello-world

#显示结果
Hello from Docker!
This message shows that your installation appears to be working correctly.
...

输出这段提示以后,hello world就会停止运行,容器自动终止。有些容器不会自动终止,因为提供的是服务,比如Mysql镜像等。

常用命令

除过以上我们使用的 Docker 命令外,Docker 还有一些其它常用的命令

  1. 拉取 docker 镜像 docker pull image_name
  2. 查看宿主机上的镜像,Docker 镜像保存在 /var/lib/docker 目录下:docker images
  3. 删除镜像:docker rmi docker.io/tomcat:7.0.77-jre7 或者 docker rmi b39c68b7af30
  4. 查看当前有哪些容器正在运行:docker ps
  5. 查看所有容器 docker ps -a
  6. 启动、停止、重启容器命令:
    1
    2
    3
    docker start container_name/container_id
    docker stop container_name/container_id
    docker restart container_name/container_id
  7. 动一个容器后,如果想进入到这个容器,可以使用 attach 命令:docker attach container_name/container_id
  8. 删除容器的命令:docker rm container_name/container_id
  9. 查看当前系统 Docker 信息:docker info
  10. 从 Docker hub 上下载某个镜像:
    1
    docker pull centos:latest
    执行 docker pull centos 会将 Centos 这个仓库下面的所有镜像下载到本地 repository。
支持一根棒棒糖!