一:通过yum安装
1:配置yum源
#vim /etc/yum.repos.d/docker.repo
[docker]
name=Docker
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
2、通过yum安装
#yum install docker-engine
#systemctl start docke
#systemctl status docker
#docker info
#docker version
二:docker相关操作
1:下载镜像
#docker search centos #从 Docker Hub 中搜索符合条件的镜像
#docker pull docker.io/centos #从公网拉取镜像
可以使用阿里云docker镜像加速
#vim /etc/docker/daemon.json #改成以下内容
改: {}
为: { “registry-mirrors”: [“https://e9yneuy4.mirror.aliyuncs.com”] }
#systemctl daemon-reload
#systemctl restart docker
这样下载就会更快了
2:查看镜像
docker images
三:基本使用方法
docker 常用参数: run 运行 -i 以交互模式运行容器,通常不 -t 同时使用; -t 为容器重新分配一个伪输入终端,通常与-i 同时使用
#docker run -it docker.io/centos:latest /bin/bash #启动一个实例
#ls #查看实例详情
#exit #退出
#docker ps #列出所有运行中容器。
例子:
#docker run -d docker.io/centos:latest /bin/sh -c “while true;do echo hello world; sleep 1; done”
#docker stop 唯一序列号 #关闭容器
四:镜像制作
1.docker commit法
创建一个安装好 apache 工具的容器镜像
[root@ip240 ~]# docker run -it docker.io/centos:latest /bin/bash [root@1d3563200047 /]# yum -y install httpd #在 container 中安装 apache 软件包
[root@1d3563200047 /]# exit
根据容器当前状态做一个 image 镜像:创建一个安装了 apache 工具的 centos 镜像 语法: docker commit 唯一ID
#docker commit 唯一ID docker.io/centos:apache
2.通过dockerbulid创建一个基于 centos 的 httpd web 服务器镜像。
1、创建工作目彔
[root@ip240~]# mkdir /docker-build
[root@ip240 ~]# cd /docker-build
[root@iip240 docker-build]# touch Dockerfile
自动化创建 docker 镜像时,需要 Dockerfile
2、编辑 Dockerfile Dockerfile 用来创建一个自定义的 image,包含了用户挃定的软件依赖等。
[root@ip240 docker-build]# vim Dockerfile
FROM docker.io/centos:latest
MAINTAINER RUN yum -y install httpd
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html
注释: FROM docker.io/centos:latest # FROM 基于哪个镜像 MAINTAINER # MAINTAINER 镜像创建者
RUN yum -y install httpd #RUN 安装软件用
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html # ADD 将文件拷贝到新产生的镜像的文件系统对应的路径。所有拷贝到新镜像中的 文件和文件夹权限为 0755,uid 和 gid 为 0
3、创建 start.sh 脚本启劢 httpd 服务和 apache 默认首页 index.html 文件 [root@xuegod63 docker-build]# echo “/usr/sbin/httpd -DFOREGROUND” > start.sh
注:/usr/sbin/httpd -DFOREGROUND 相当于执行了 systemctl start httpd
[root@xuegod63 docker-build]# chmod a+x start.sh
创建 index.html
[root@xuegod63 docker-build]# echo “docker image build test” > index.html
4、使用命令 build 来创建新的 image 语法:docker build -t 父镜像名:镜像的 tag Dockerfile 文件所在路径 -t :表示 tage,镜像名
#docker build -t docker.io/centos:httpd ./
注: ./ 表示当前目彔。另外你的当前目彔下要包含 Dockerfile
五:镜像发布