一、Docker基本命令
构建镜像:docker build -t <镜像> .
查看镜像:docker images / docker image ls
删除镜像: docker rmi <镜像ID>
创建容器:docker run -itd -p <映射端口> --link <容器连接> <镜像> bash
docker run -itd -p 8080:8080 --link 9fjkn4544vf:localhost test-app bash
查看容器: docker ps (运行中) docker ps -a(全部)
停止容器: docker stop <容器ID>
启动容器:docker start <容器ID>
重启容器:docker restart <容器ID>
删除容器:docker rm <容器ID>
拉取镜像: docker pull <镜像>
tag镜像: docker tag <镜像> <镜像:tag>
docker tag ubuntu:18.04 username/ubuntu:18.04
仓库登录 docker login <仓库地址>
仓库登出 docker logout
推送镜像 docker push <镜像>
二、Dockerfile
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明
这里贴一下菜鸟教程上的Dockerfile,就不写了,我贴一下我使用的Dockerfile
FROM java:8
EXPOSE 8080
#定义时区参数
ENV TZ=Asia/Shanghai
#设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
VOLUME /tmp
ADD ./zs_api_jar/* app/
RUN bash -c 'touch app/'
ENTRYPOINT ["java","-jar","app/zs-api.jar"]
三、Docker私有仓库搭建
Docker官方提供了一个公共仓库-hub.docker.com,你可以在上面注册账号,然后使用docker login 进行登录,进本地构建好的镜像push到公共仓库中,像一般的开源项目都可以在上面找到镜像,直接pull下来使用,不用像以前传统方式一样安装,如nginx、redis等常用软件。
但在公司实际的开发中,不可能将项目镜像push到公共仓库中去,所以企业一般是搭建自己的私有Docker仓库,以满足使用。
Docker官方将docker仓库项目开源了,你可以使用它进行搭建。还有一个开源项目更好用——harbor,它除了集成docker仓库以外,还提供了镜像管理系统,搭建后可以对用户设置不同权限,更好的进行线上版本管理。
搭建
1.前置条件
- 安装docker并运行
yum install docker # 安装docker
...
systemctl start docker # 运行docker服务
- 安装docker-compose
yum install docker-compose
2.下载安装包
如果访问github速度还可以,建议直接
wget https://github.com/goharbor/harbor/releases/download/v1.9.4/harbor-offline-installer-v1.9.4.tgz
如果访问速度不行,可以找国内源进行下载harbor.orientsoft.cn/,不过版本没有最新的
解压安装包:tar -zxvf harbor-offline-installer-v1.7.1.tgz
3.编辑配置器文件
在项目目录下,有一个harbor.cfg
的文件,就是配置文件
里面需要改的有hostname, 改成服务器域名或公网IP, 如果没有https相关配置,还需要改customize_crt=false
,支持http访问。
注:如果是http访问,需要对于docker编辑/etc/docker/daemon.json
{
"insecure-registries":["hub.docker.*.com:3333"]
}
然后重启Docker
4.启动harbor
修改完配置文件后,运行 ./prepare
运行 ./install.sh
启动后,可以在浏览器中访问host,可以看到harbor管理页面,则说明启动成功。同时在docker ps中也可以看到右多个关于harbor的容器正在运行。
然后可以通过docker login 命令 去登录自己的账户,如果登录成功则说明没问题。
5.管理命令
启动:docker-compose up -p 或者 docker-compose start
停止:docker-compose down -d 或者 docker-compose stop
使用
登录私有仓库:docker login
拉取镜像:docker pull <镜像>
tag镜像:docker tag <镜像> <镜像:tag>
push镜像:docker push <镜像>
还可以通过GUI管理后台,对用户、仓库、项目等进行管理。