$ sudo apt-get remove docker docker-engine docker.io containerd runc
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ sudo docker run hello-world
9、其他Docker操作
$ sudo apt-get purge docker-ce
$ sudo rm -rf /var/lib/docker
启动docker
systemctl start docker
停止docker:
systemctl stop docker
重启docker:
systemctl restart docker
开机启动:
systemctl enable docker
查看docker概要信息
docker info
查看docker帮助文档
docker --help
列出容器
docker ps
二、docker部署Gitlab
创建三个目录分别存放这些数据,便于GitLab的维护和迁移。即时是GitLab被我们玩坏了,只要这三个文件还存在,就可以很简单的重建
sudo mkdir -p /gitlab/data
sudo mkdir -p /gitlab/logs
sudo mkdir -p /gitlab/config
sudo docker run --detach \
--publish 8443:443 --publish 8000:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume /gitlab/config:/etc/gitlab \
--volume /gitlab/logs:/var/log/gitlab \
--volume /gitlab/data:/var/opt/gitlab \
-log-driver=none \
beginor/gitlab-ce:11.1.4-ce.0
参数说明
第一次启动容器会很慢,需要三分钟左右。可以随时通过docker ps 查看启动进度。当STATUS由starting变为health时,就说明启动成功了。
另外,其中的8000:80就是docker内部80对外部8000的映射,外部访问时就用8000端口,内部实际映射为80。
3,配置GitLab
现在就可以通过地址:http://IP:8000访问GitLab,但是为了正常使用,我们还需要配置GitLab。
我们需要修改三个参数:
external_url
ssh 端口
nginx监听端口
GitLab的配置文件在我们外挂的磁盘下/gitlab/config/gitlab.rb
修改external_url
sudo vim /gitlab/config/gitlab.rb
# 可以通过`/`搜索需要修改的参数
external_url 'http://IP:8000' # IP填写GitLab部署的服务器的IP
修改ssh端口
如果不修改ssh的端口,clone和提交代码时一直需要输入密码。
因为通过ssh链接gitlab时默认访问的是22端口,但是使用docker部署,22端口在宿主机一直被占用,所以映射为2222端口,需要修改gitlab配置文件
### GitLab Shell settings for GitLab
gitlab_rails['gitlab_shell_ssh_port'] = 2222
# gitlab_rails['gitlab_shell_git_timeout'] = 800
修改nginx监听的端口
nginx['listen_port'] = 80
这点比较重要,否则有可能造成ssh链接异常
现在配置已经完成,重启容器即可使用
docker restart gitlab
访问
GitLab的访问地址是:http://IP:8000/。第一次访问会让用户修改密码,修改成功后就可以通过账号(root)和该密码登录GitLab。
当然为了正常使用GitLab,添加SSH公钥是必须的。GitLab的使用方式和GitHub基本一致。