docker 安装
1、判断是否已经安装过了,安装过了就进行删除
[root@localhost ~]# rpm -qa|grep docker
docker-ce-17.12.0.ce-1.el7.centos.x86_64
2、rpm -e docker-ce**** && yum remove -y docker-ce && rm -rf /var/lib/docker-* ///删除
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -rV
7、安装docker
$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
$ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
yum install docker-ce-18.03.0.ce-1.el7.centos //yum install docker-ce-version
8、启动并加入开机启动
$ sudo systemctl start docker //|stop|status
$ sudo systemctl enable docker
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ docker version
安装中出现的问题
1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:
Transaction check error:
file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
2、卸载旧版本的包
$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
3、再次安装docker
$ sudo yum install docker-ce
使用阿里云加速Docker
Docker官方镜像网站部署在外网,因此我们国内下载比较慢。看了一下国内最好的Docker加速服务就是阿里云了。阿里云的其他镜像比如Maven镜像之类的也都不错。
首先需要注册一个阿里云的帐号,可能还需要其他一点信息。然后进入容器Hub服务控制台(https://cr.console.aliyun.com),中间有一个加速器。我们点击它之后,阿里云会为我们创建一
https://9ubrspe4.mirror.aliyuncs.com
个专属加速器地址。
然后需要检查Docker客户端的版本,如果小于1.10,只能按照自己系统版本寻找相应的办法了。如果大于等于1.10,就可以直接使用下面的配置方法。配置方法很简单,
在vi /etc/docker/daemon.json中添加一段配置。如果没有该文件则创建。
{
"registry-mirrors": ["https://9ubrspe4.mirror.aliyuncs.com"]
}
然后重启Docker服务。
sudo systemctl daemon-reload
sudo systemctl restart docker
Maven私服nexus搭建
使用docker安装nexus
查找镜像
docker search nexus
选取使用次数较多是镜像 拉取镜像
docker pull sonatype/nexus3
查看拉取的镜像
docker images
启动容器
使用nexus3镜像创建并启动一个容器,然后指定暴露8081端口到对应主机的8081端口
[root@165 /]# mkdir -p /home/nexus-data
[root@165 /]# chmod 777 /home/nexus-data
将容器内部/var/nexus-data挂载到主机/root/nexus-data目录。1\
docker run -d -p 8081:8081 --name nexus -v /nexus-data:/var/nexus-data --restart=always sonatype/nexus3
docker run -d -p 8081:8081 --name nexus --restart=always sonatype/nexus3
8081:nexus3网页端
8082:docker(hosted)私有仓库,可以pull和push
8083:docker(proxy)代理远程仓库,只能pul
8084:docker(group)私有仓库和代理的组,只能pull
此过程为后台运行,运行大概一到两分钟,
如何确定是否启动成功?
docker inspect 容器ID 如果分配了Ip表示启动成功
查看容器日志(查看启动失败日志)
docker logs nexus
docker restart nexus
3、关闭防火墙
systemctl stop firewalld
此时在浏览器输入:http://ip:8081即可看到以下页面:(ip为远程主机的ip地址)
点击右上方的Sign in进行登录,初始账号密码为admin/admin123.请登录后修改密码
私服配置
4、创建仓库,点击Create repository,然后选择maven2(hosted)然后输入仓库名称(test-release)。在version policy中选择这个仓库的类型,这里选择release,在Deployment policy中选择Allow redeploy(这个很重要).
5、点击左侧菜单栏的Users菜单,然后点击Create local user.我这里创建了一个用户,账号密码都是:mayikt
6、Setting.xml加入以下配置
<servers>
<server>
<id>mayikt</id>
<username>mayikt</username>
<password>mayikt</password>
</server>
</servers>
7、创建项目,将下列配置加入项目pom文件
<distributionManagement>
<repository>
<!--此名称要和settings.xml中设置的ID一致-->
<id>mayikt</id>
<url>http://192.168.1.155:8081/repository/mayikt/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<!--发布代码Jar插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<!--发布源码插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
8、打开终端,输入
mvn deploy
9、另一个项目引用打包发布到nexus上的项目坐标
<dependencies>
<dependency>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>1.0-RELEASE</version>
</dependency>
</dependencies>
<repositories>
<repository>
<!--此名称要和settings.xml中设置的ID一致-->
<id>mayikt</id>
<url>http://192.168.1.155:8081/repository/mayikt/</url>
</repository>
</repositories>
注意问题
发布的包名一定是RELEASE结尾
否则发布报如下错误:
搭建gitlab
1、需要先关闭防火墙
systemctl stop firewalld.service
2、安装和配置必要的依赖关系
sudo yum install curl openssh-server openssh-clients postfix cronie
sudo service postfix start
sudo chkconfig postfix on
Yum install lokkit
sudo lokkit -s http -s ssh
下载gitlab
docker pull gitlab/gitlab-ce
(3)从gitlab镜像启动容器
docker run -d -p 10443:443 -p 8090:80 --name gitlab --restart always -v /srv/gitlab/config:/etc/gitlab -v /srv/gitlab/logs:/var/log/gitlab -v /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
说明:
-d/ --detach 后台启动
-h/--hostname hostname
-p/--public 容器的端口映射
--name 容器的名字
--restart always 当容器退出或宿主机重启的时候,容器接着会始终重启
-v/--volume 给容器添加一个数据卷
5556外部端口,80内部端口
(4)修改gitlab容器的配置文件
vi /srv/gitlab/config/gitlab.rb
修改vi /srv/gitlab/data/gitlab-rails/etc/gitlab.yml
权限问题
docker exec -it gitlab update-permissions
docker restart gitlab
docker inspect 容器id
curl 172.17.0.2
(5)访问gitab 192.168.1.155:8090
(6)
502正常,等待一段时间即可,docker还在启动中(配置好的电脑启动快)
部分命令
systemctl restart docker //重启docker服务后再启动容器
docker restart gitlab
docker images //查看镜像是否安装
docker stop容器id //
docker ps/images -a //查看docker含有的容器信息
docker rm 容器id //删除容器
systemctl restart docker
docker inspect 容器id //查看docker给容器分配的ip地址(确定容器是否启动成功,有ip表示成功)
systemctl start [服务文件名]
systemctl restart [服务文件名]
systemctl stop [服务文件名]
systemctl status [服务文件名]
设置开机启动
systemctl enable [服务文件名]
systemctl disable [服务文件名]
1、firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld