在Mac上使用Docker安装CentOS7.3

我需要在本地環境上安裝CentOS7作為開發環境,所以使用Docker來建立。據說Docker也在日常使用中變得更加易於上手和進步,這真是太好了。

■ 安装


下载
https://docs.docker.com/docker-for-mac/install/#download-docker-for-mac

打开DMG文件,将其复制到应用程序文件夹中。

点击Docker应用程序文件夹中的图标来启动。一个较小的窗口会弹出并等待一会儿。

当出现“Docker已经启动运行!”时,请在终端上使用以下命令确认。

$ docker --version
Docker version 17.03.1-ce, build c6d412e

好像不需要VirtualBox之类的东西。通过xhyve构建虚拟机。
顺便提一下,据说可以在这里创建虚拟机。
~/Library/Containers/com.docker.docker

■ 创造图像


在任意目录下放置Dockerfile。

mkdir -p /Users/miro/docker/cent72
cd /Users/miro/docker/cent72
vi Dockerfile

请查阅下文中提到的参考链接,以了解 Dockerfile 的示例内容。

建立形象

docker build -t miro/centos7:1.0 .

可以使用”-t”选项指定名称。上面的”:1.0″部分是标签。

确认构建是否成功。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
miro/centos7        1.0                 3a6a024637ef        About a minute ago   859 MB
centos              centos7             a8493f5f50ff        4 weeks ago          192 MB

■ 启动容器


① 在主机端(Mac端)准备共享目录。

mkdir /Users/miro/docker/cent72/share

开始

docker run --privileged -it -d --name cent7test -v /Users/miro/docker/cent72/share:/docker-host/share miro/centos7:1.0 /sbin/init

使用“-v”选项,可以挂载主机上的共享目录。虽然不是必需的,但这样做会非常方便。

如果要进行端口转发,则可以指定类似于“-p 80:80”的参数。但由于本次没有安装Web服务器等,所以没有指定。

确认是否已启动。

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
3c8e288e9a0c        miro/centos7:1.0    "/sbin/init"        6 seconds ago       Up 9 seconds                            cent7test

连接到容器进行确认


$ docker exec -it cent7test bash
[root@3c8e288e9a0c /]#     ← つながった

[root@3c8e288e9a0c /]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core)    ← CentOS7.3 がインストールされている

[root@3c8e288e9a0c /]# ls -a /docker-host/share/
.  ..   ← ホスト側のディレクトがマウントされている

■ 查看、停止、删除容器


确实

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
3c8e288e9a0c        miro/centos7:1.0    "/sbin/init"        About a minute ago   Up About a minute                       cent7test

・停止 → 停下来、停下、停止运转
・起動 → 启动、发动、开始

docker stop cent7test   ← コンテナ名、またはコンテナIDを指定
docker start cent7test   ← 同上

・删除

docker rm cent7test   ← 同上。停止している状態で削除すること

■ 确认和删除图像


确认

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
miro/centos7        1.0                 3a6a024637ef        7 minutes ago       859 MB
centos              centos7             a8493f5f50ff        4 weeks ago         192 MB

删除

docker rmi 3a6a024637ef   ← イメージIDを指定

■ 参考资料:Dockerfile的示例


以下是一个Dockerfile,用于安装CentOS7操作系统和常用的开发工具集合。请根据需要自行添加或删除。

FROM centos:centos7

# Import the Centos-7 RPM GPG key to prevent warnings
RUN rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
RUN rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7

# system update
RUN yum -y update && yum clean all

# set locale
RUN yum reinstall -y glibc-common && yum clean all
RUN localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
RUN unlink /etc/localtime
RUN ln -s /usr/share/zoneinfo/Japan /etc/localtime

# ===============================================================================================================
# BASE packages
# ===============================================================================================================
RUN yum --enablerepo=extras clean metadata
RUN yum install -y zlib zlib-devel make gcc gcc-c++ openssl openssl-devel readline-devel pcre pcre-devel
RUN yum install -y openssh openssh-server
RUN yum install -y net-tools wget sudo
RUN yum install -y tar zip unzip bzip2 which tree
RUN yum install -y git
广告
将在 10 秒后关闭
bannerAds