在 CentOS 或者 Fedora 上运行 Docker 容器

Fedora 20:
sudo yum -y install docker-io

CentOS 7:
Uninstall old versions:
yum remove docker \
  docker-client \
  docker-client-latest \
  docker-common \
  docker-latest \
  docker-latest-logrotate \
  docker-logrotate \
  docker-engine
yum install yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io

sudo systemctl start docker
sudo systemctl enable docker

设置镜像:
vi /etc/docker/daemon.json
{
  "registry-mirrors" : [
    "https://registry.cn-hangzhou.aliyuncs.com",
    "http://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com"
  ]
}

如果需要修改docker0虚拟网卡IP地址:
vi /etc/docker/daemon.json
{"bip":"10.20.0.1/24"}

systemctl restart docker

sudo docker run hello-world

在 CentOS 或 Fedora 上安装完成 Docker 后,为了能以非 root 用户运行 docker,你需要把你自己添加进 docker 用户组,使用如下命令:
sudo usermod -a -G docker login_name
注销,以使组改变生效。


Docker 的基础用法:
去 https://registry.hub.docker.com/ 搜索对应 TAG:
docker pull centos:centos7
例如,以交互式模式启动一个 CentOS 容器,运行以下命令,这最后的参数 '/bin/bash' 是用于在容器内部执行的命令。
docker run -i -t centos:centos7 /bin/bash
查看 CentOS 版本:
cat /etc/redhat-release
其他系统:
lsb_release -a

第一次我们运行以上命令,它将通过网络下载可用的 CentOS 的 Docker 镜像,并且使用这个镜像启动一个 Docker 容器,一个 CentOS 容器会立即启动,你将在容器中看到 console 提示,你能通过容器沙箱访问一个完全成熟的 CentOS 操作系统。

如果你在提示处键入 exit ,你将从容器中退出,并且容器将被停止。

获取一个所有容器的列表(包括停止的),运行如下命令:
docker ps -a

后台重启一个已经停止的容器:
docker start [container-id]

移除一个已经停止的容器:
docker rm [container-id]

为了查看或者是与容器交互,进入一个后台运行的容器:
docker attach [container-id]

你可以自由的定制一个正在运行的容器(比如,安装新软件),如果你想保存当前容器的变更,首先是键入 exit 命令退出交互式模式,然后通过使用这个命令来保存这个变更的镜像,存储成一个新的不同的镜像。
docker commit [container-id] [new-image-name]

获取你的容器的容器 ID ,你可以使用 docker ps -a 来查看。

一旦你像这样创建一个新的镜像,你可以使用这个镜像运行一个新的容器。

你也可以下载任何的公共镜像(比如: ubuntu, mysql),并且在本地仓库存储他们(官方索引地址 https://registry.hub.docker.com/):
docker pull [image name]

查看所有的本地已经下载或者保存的镜像:
docker images

你可以选择一个指定的镜像来启动一个容器:
docker run -i -t [image-id] /bin/bash

从本地仓库中删除一个镜像:
docker rmi [image-id]
docker rmi [image-name][:image-tag]

修改镜像名称:
docker tag [image-id] [image-name][:image-tag]

导出导入镜像:
docker export CONTAINER_ID | gzip > myimage.tar.gz
docker import myimage.tar myimage:latest

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

3 × 4 =