Docker安装
Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用不到
Docker 要求 CentOS 系统的内核版本在 3.10以上 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
1、通过 uname -r 命令查看你当前的内核版本
|
uname -r
|
2、 使用 root 权限登录 Centos。确保 yum 包更新到最新。
|
yum -y update
|
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
|
7、 安装docker
|
sudo yum install -y docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.03.1
|
8、 启动并加入开机启动
|
systemctl start docker
systemctl enable docker
|
9、 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
|
docker version
|
镜像相关命令
1、搜索镜像 # docker search java
可使用 docker search命令搜索存放在 Docker Hub(这是docker官方提供的存放所有docker镜像软件的地方,类似maven的中央仓库)中的镜像。执行该命令后, Docker就会在Docker Hub中搜索含有 java这个关键词的镜像仓库。
Docker Hub 官网https://hub.docker.com/search?q=java&type=image
2、下载镜像docker pull java:8
使用命令docker pull命令即可从 Docker Registry上下载镜像,执行该命令后,Docker会从 Docker Hub中的 java仓库下载最新版本的 Java镜像。如果要下载指定版本则在java后面加冒号指定版本
3、列出镜像使用 docker images命令即可列出已下载的镜像
4、删除镜像 使用 docker rmi java 命令即可删除指定镜像
docker rmi d23bdf5b1b1b
阿里镜像加速
详细参考: https://cr.console.aliyun.com/cn-hangzhou/mirrors
容器相关命令
启动容器 docker run -d -p 81:80 nginx
在本例中,为 docker run添加了两个参数,含义如下:
-d 后台运行
-p 宿主机端口:容器端口 #开放容器端口到宿主机端口
访问 http://Docker宿主机 IP:81/,将会看到nginx的主界面如下:
需要注意的是,使用 docker run命令创建容器时,会先检查本地是否存在指定镜像。如果本地不存在该名称的镜像, Docker就会自动从 Docker Hub下载镜像并启动一个 Docker容器。
- 列出容器用 docker ps命令即可列出运行中的容器
3. 查看容器的信息 docker inspect 3af5513d208e
构建自己的****docker****镜像
1、将jar包上传linux服务器/usr/local/dockerapp目录,在jar包所在目录创建名为Dockerfile的文件
2、在Dockerfile中添加以下内容
|
指定java8环境镜像
FROM java:8
复制文件到容器app-springboot
ADD docker-springboot-0.0.1.jar /app-springboot.jar
声明启动端口号
EXPOSE 8080
配置容器启动后执行的命令
ENTRYPOINT ["java","-jar","/app-springboot.jar"]
|
使用docker build命令构建镜像
docker build -t docker-springboot-0.0.1 .
格式: docker build -t 镜像名称:标签 Dockerfile的相对位置
docker run -p 8080:8080 docker-springboot-0.0.1 .
重启systemctl restart docker
关闭防火墙 systemctl stop firewalld
192.168.212.215:8080
Docker常用命令
docker images 查看镜像文件
docker ps 查看正在运行的容器
docker ps –a 查看所有的容器
docker container exec -it f0b1c8ab3633 /bin/bash 进入到容器
exit 退出
docker version 查看版本
docker run -d -p 81:80 nginx 启动nginx容器
docker rmi imgageid 删除镜像
docker rm 容器id 删除容器
基于docker安装Maven私服
|
- 下载一个nexus3的镜像
docker pull sonatype/nexus3
- 将容器内部/var/nexus-data挂载到主机/root/nexus-data目录。
docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3
|
关闭防火墙, service iptables stop 关闭防火墙
Maven私服启动容器稍微比较慢,等待1分钟即可。
可以查看正在启动的日志 docker attach 容器的id
基于Docker部署GitLab环境搭建
建议虚拟机内存2G以上
1.****下载镜像文件
|
docker pull beginor/gitlab-ce:11.0.1-ce.0
|
注意:一定要配置阿里云的加速镜像
- 创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。
|
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data
|
容器中里面 ect gitlab同步到外部
- 运行GitLab容器
|
*docker run *
*--detach *
*--publish 8443:443 *
*--publish 8090:8090 *
*--name gitlab *
*--restart unless-stopped *
*-v /mnt/gitlab/etc:/etc/gitlab *
*-v /mnt/gitlab/log:/var/log/gitlab *
*-v /mnt/gitlab/data:/var/opt/gitlab *
beginor/gitlab-ce:11.0.1-ce.0
|
docker exec -it 8a1dcfb84f53 bash 进入容器里面
4.修改/mnt/gitlab/etc/gitlab.rb
把external_url改成部署机器的域名或者IP地址
|
vi /mnt/gitlab/etc/gitlab.rb
|
external_url 'http://192.168.212.174:8090'
- 修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
vi /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
**找到关键字 * ## Web server settings ***
将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
192.168.212.174
[图片上传失败...(image-f70c10-1607052168510)]
到此为止,gitlab的web管理页面就可以正常访问
[图片上传失败...(image-1d3b0d-1607052168510)]
修改默认root账户密码
Yushengjun644
启动过程中,展示 [图片上传失败...(image-e9a1ef-1607052168510)]
这个错误是正常的,内存比较小可能花费时间更加长。
GitLab创建项目
[图片上传失败...(image-1c9311-1607052168510)]