一、首先说一下Docker,Docker可以理解为windows上面的虚拟机,在Docker上面运行程序不用依赖主机上的环境,而是自启一套操作系统。例如,本地操作系统上没有安装java,但依然可以在Docker上运行jar包,这样的好处就是保持环境的绝对纯净与独立,好开始安装Docker,此处介绍安装不同版本的Docker。
1、安装软件包以允许apt通过HTTPS使用存储库,命令:
apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
2、添加Docker的官方GPG密钥,命令:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
3、使用命令:vi /etc/apt/sources.list.d/docker.list,添加一下内容
deb https://apt.dockerproject.org/repo ubuntu-xenial main
4、使用命令:apt-get update,更新源
5、使用命令:apt-cache policy docker-engine,查看该源中含有哪些版本的Docker,显示是这样的
docker-engine:
Installed: 1.13.1-0~ubuntu-xenial
Candidate: 17.05.0~ce-0~ubuntu-xenial
Version table:
17.05.0~ce-0~ubuntu-xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
17.04.0~ce-0~ubuntu-xenial 500
500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages(后面还有)
6、使用命令:apt-get install docker-engine=1.13.0-0~ubuntu-xenial,等号后面接版本号
7、使用命令:docker run hello-world ,验证是否正确安装Docker
二、Docker-compose可以理解为它是Harbor和Docker之间的组件、桥梁,安装很简单,但是请注意Harbor、Docker、 Docker-compose之间的版本关系,开始安装
1、使用命令:
curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2、增加权限:
chmod +x /usr/local/bin/docker-compose
3、验证是否安装成功:
docker-compose -v
三、Harbor可以理解为GitHub,你可以选择用网上的Harbor,也可以自己搭建服务器,此处为自己搭建服务器
1、先去wget一个压缩包,可以从:https://github.com/vmware/harbor/releases中选择需要的包,我选择了V1.2.2的离线包;
wget https://github.com/vmware/harbor/releases/download/v1.2.2/harbor-offline-installer-v1.2.2.tgz
2、解压:
tar zxf harbor-offline-installer-v1.2.2.tgz
3、修改配置,进入解压后的目录,修改harbor.cfg,一般先修改:hostname 、db_password、harbor_admin_password等字段就可以了
4、在解压后的目录下启动harbor: ./install.sh
5、在浏览器中输入:刚才修改的hostname即可(使用的是默认端口80),用户名:admin,密码为上面修改的Password
四、Docker中常用的命令
docker image ls
docker info
docker container ls
docker container ls --all
docker build -t ***
docker run -p 4000:80 ***
docker run -d -p 4000:80 ***
docker container stop XXX(CONTAINER ID)