1.检查内核版本,返回的值大于3.10即可。
$ uname -r
2.使用 sudo 或 root 权限的用户登入终端。
3.卸载旧版本(如果安装过旧版本的话)
$ yum remove docker docker-common docker-selinux docker-engine
4.安装需要的软件包
#yum-util提供yum-config-manager功能
#另外两个是devicemapper驱动依赖的
$ yum install -y yum-utils device-mapper-persistent-data lvm2
5.设置yum源
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6.安装docker
安装指定版本
#查询版本列表
$ yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror, langpacks
已安装的软件包
可安装的软件包
* updates: mirrors.163.com
Loading mirror speeds from cached hostfile
* extras: mirrors.163.com
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
...
#指定版本安装(这里的例子是安装上面列表中的第二个)
$ yum install -y docker-ce-18.06.1.ce
7.启动docker
$ systemctl start docker.service
8.验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ docker version
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:23:03 2018
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:25:29 2018
OS/Arch: linux/amd64
Experimental: false
下载镜像前先修改默认
进入/etc/docker
查看有没有 daemon.json。这是docker默认的配置文件。
如果没有新建,如果有,则修改。
[root@zengmg docker]# vi daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
保存退出。
重启docker服务
service docker restart
成功!
下载镜像:从网站上获取镜像
docker pull openjdk:8
这个就相当于默认从docker官网上下载了openjdk:8
查看镜像
docker images ls
REPOSITORY TAG IMAGE ID CREATED SIZE
java-app latest fbd9fb4ca85f 14 seconds ago 624MB
hello-world latest 4ab4c602aa5e 6 days ago 1.84kB
openjdk 8 81f83aac57d6 9 days ago 624MB
创建工作目录
mkdir -p /home/docker/java-app
进入工作目录编写Dockerfile
vi Dockerfile
FROM openjdk:8
COPY . /var/www/java
WORKDIR /var/www/java
RUN javac Hello.java
CMD ["java", "Hello"]
FROM openjdk:8
:该 image 文件继承官方的 image,冒号表示标签,这里标签是8
,即8版本的 openjdk。COPY . /var/www/java
:将当前目录下的所有文件(除了.dockerignore
排除的路径),都拷贝进入 image 文件的/app
目录。WORKDIR /var/www/java
:指定接下来的工作路径为/app
。RUN javac Hello.java
:在/app
目录下,运行javac Hello.java
命令编译程序。注意,编译程序后的程序进入 image 文件。CMD ["java", "Hello"]
编写 Hello.java文件与Dockerfile放在同一个文件夹下
然后创建image文件
docker image build -t java-app .
上面代码中,-t
参数用来指定 image 文件的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest
。最后的那个点表示 Dockerfile 文件所在的路径,上例是当前路径,所以是一个点。
运行Docker映像
docker run java-app