docker之win安装gitlab

以下是windows10安装Docker DeskTop的步骤(!!!特别注意,docker和虚拟机系统不能共存,消勾程序和功能里面->Hyper-V的后虚拟机内的系统才能正常启动,但消勾后docker又不能启动了)

安装说明

https://docs.docker.com/docker-for-windows/install

双击exe文件进行安装

消勾Automatically check for updates

配置镜像(在Docker Engine添加"registry-mirrors"项)

{
“registry-mirrors”: [],
“insecure-registries”: [],
“debug”: false,
“experimental”: false,
“features”: {
“buildkit”: true
},
“registry-mirrors”: [“https://hh246994.mirror.aliyuncs.com”]
}

注意:镜像加速地址为从阿里云而来:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,需要先注册账号(进去后左边有镜像中心->镜像加速器)

安装gitlab-ce(会从阿里云的mirror地址下载gitlab-ce(社区版,免费,稳定))

docker pull gitlab/gitlab-ce

docker images查看一下

可以看到只有一个gitlab/gitlab-ce的镜像

运行Docker

[有问题语句!!,作为警示用,该语句多了挂载data(有权限问题)和cache部分]

docker run --detach --hostname 192.168.56.1 --publish 4430:443 --publish 800:80 --publish 220:22 --name gitlab --restart unless-stopped --volume /d/system/docker/gitlab/config:/etc/gitlab --volume /d/system/docker/gitlab/logs:/var/log/gitlab --volume /d/system/docker/gitlab/data:/var/opt/gitlab --volume /d/system/docker/gitlab/cache:/opt/gitlab/embedded/cookbooks/cache --privileged=true gitlab/gitlab-ce:latest

正常的语句

docker run --detach --hostname 192.168.56.1 --publish 4430:443 --publish 800:80 --publish 220:22 --name gitlab --restart unless-stopped --volume /d/system/docker/gitlab/config:/etc/gitlab --volume /d/system/docker/gitlab/logs:/var/log/gitlab --privileged=true gitlab/gitlab-ce:latest

解释:
–detach->使得容器在后台运行
–publish->将右侧(443(容器内)映射到外部端口4430)…
–name->容器名(可以使用docker删除容器)
–restart->重启策略
no->默认策略,在容器退出时不重启容器
on-failure->在容器非正常退出时(退出状态为非0),才会重启容器
on-failure:3->在容器非正常退出时重启容器,最多重启3次
always->在容器退出时总是重启容器
unless-stopped->在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止的容器
–volume->创建数据卷并将容器内的(冒号右侧)地址挂载到外部地址(冒号左侧)
特别注意:举个例子–volume /d/icetest:/etc/gitlab,这句话是将容器内的/etc/gitlab地址和主机的d盘的icetest目录进行关联(挂载),在主机中创建文件,修改文件会同步添加或更新容器内的文件
–privileged->使得容器内的root拥有真正的root权限
gitlab/gitlab-ce->镜像名
运行时错误例子:
C:\workspaces\stable-2.5.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\Mounting\FileSharing.cs:
该错误需要先在Docker DeskTop的Settings中的resources中设置File Sharing添加一个目录:/d/system/docker/gitlab,再次运行run命令即可
Failed asserting that mode permissions on “/var/opt/gitlab/.ssh” is 0700
该错误是因为将/var/opt/gitlab挂载到主机的data目录,导致没权限,目前官方不知道是bug还是什么原因,设置了任何权限都没有效果,最终还是放弃挂载这个数据目录到主机解决了这个问题
参考bug说明:https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/3957

使用docker ps查看状态(docker ps -a结合docker rm 容器ID可删除容器然后再重新启动),最后出现 (healthy)表示启动好了,可以用ip+800访问首页

若要停止并删除这个容器可以使用docker stop 容器ID && docker rm 容器ID

访问后默认用户名是root

密码已进入页面就需要重新设置(我一般设置为8位通用密码)

dockerd的守护进程命令

https://docs.docker.com/engine/reference/commandline/dockerd

你可能感兴趣的:(docker,docker,容器,运维)