一、安装docker
要求:内核版本高于3.10(uname -r 命令查看)
这里以centos7安装为例
1、如果安装旧版本docker,先删除旧版本:
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2、安装设置仓库所需的软件包(下一步做准备)
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3、设置仓库(之后就可以从仓库安装和更新 Docker)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、安装最新版本的 Docker Engine-Community 和 containerd
sudo yum install docker-ce docker-ce-cli containerd.io
(附)另外也可以安装特定版本的 Docker Engine-Community ,若安装最新的下面几个命令忽略:
(1)先列出存储库中可以安装的版本。
yum list docker-ce --showduplicates | sort -r
(2)通过列出的版本,选择需要安装的版本安装,通过如下命令安装([version]为列出的版本第二列字符串中,从(:)后开始到(-)结束中间的字符串):
sudo yum install docker-ce-[version] docker-ce-cli-[version] containerd.io
(3)如选择列出来的如下版本:
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
则[version]为 18.09.0 , 即安装命令如下:
sudo yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io
5、启动 Docker。
sudo systemctl start docker
6、查看docker版本:
docker version
7、下载一个测试镜像验证:
sudo docker run hello-world
二、使用
这里以一个nginx镜像,安装对应前端项目并生成镜像为例:
1、查看nginx版本
docker search nginx
2、下载最新nginx的docker镜像:
sudo docker pull nginx:latest
3、查看本地镜像:
sudo docker images
4、启动容器(nginx-test为容器名称,8080为本地映射过去的端口 ,-d nginx 为后台运行,此时可以在浏览器通过 localhost:8080 访问nginx服务):
sudo docker run --name nginx-test -p 8080:80 -d nginx
5、 查看运行的docker容器信息:
sudo docker ps
6、进入docker容器,ddd6d8b3b153为容器id(CONTAINER ID),可以通过上面的docker ps命令查看
sudo docker exec -it ddd6d8b3b153 /bin/bash
7、nginx镜像的访问文件放在 /usr/share/nginx/html 目录,所以将前端项目(这里比如为text.html)拷贝到容器该路径即可
sudo docker cp text.html ddd6d8b3b153://usr/share/nginx/html
8、之后通过浏览器即可访问到部署的前端项目
三、将该容器生成新镜像并推送到harbor仓库
1、先停止容器:
sudo docker stop ddd6d8b3b153
2、做成镜像(newnginx为新镜像名称,v1为版本):
sudo docker commit ddd6d8b3b153 newnginx:v1
3、推送到harbor
(1)先登录harbor对应帐号(user为帐号,1234为密码,harbor.abc.com为部署的harbor的地址):
sudo docker login -u user -p 1234 harbor.abc.com
(2)给推送的镜像打tag(abc为harbor对应的文件夹):
sudo docker tag newnginx:v1 harbor.abc.com/abc/newnginx:v1
(3)将镜像推送到仓库:
sudo docker push harbor.abc.com/abc/newnginx:v1
四、其他命令
1、重启容器:
sudo docker restart ddd6d8b3b153
2、卸载容器(前提要先stop停止)
sudo docker rm ddd6d8b3b153
3、删除镜像(xxxxx为镜像id,可以通过 docker images 查看):
sudo docker rmi xxxxx