系統要求:centos7,內核3.10或更高
1、配置yum源並安裝
vim /etc/yum.repos.d/docker.reposjava
[dockerrepo]
name=Docker Respository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
yum install docker-engine(安裝若是出現證書過去主要留意下系統時間是否正確)linux
2、啓動docker
service docker start
啓動後執行
docker -v //查看是否有輸出版本信息docker
3、從遠程倉庫拉取centos,在經過Dockerfile構建本地鏡像myjava
docker images //先查看本地已經存在的鏡像,應該是空的
docker pull centos //從遠程倉庫拉取並構建centos鏡像
將jdk拷貝到當前目錄,而後建立Dockerfile文件,內容以下,shell
FROM centos:latest MAINTAINER "luo biao"<luo.biao@xxx.com> ADD jdk-7u80-linux-x64.tar.gz /opt RUN ln -s /opt/jdk1.7.0_80 /opt/jdk ENV JAVA_HOME /opt/jdk ENV PATH $JAVA_HOME/bin:$PATH CMD /opt/jdk/bin/java -version
docker build -t myjava ./ //經過當前目錄(./)Dockerfile構建鏡像myjava
經常使用鏡像操做命令
docker rmi xxx //刪除xxx容器,xxx能夠是id或是name
docker save xxx > xxx.tar //將xxx鏡像導出成xxx.tar文件
docker load < xxx.tar //將xxx.tar文件還原成xxx鏡像
4、經過myjava鏡像啓動容器
docker run -it --name="my_java" myjava /bin/bash //之前臺模式啓動容器xxx,容器名稱命名爲my_java
經常使用容器操做命令json
(注意後臺模式若是容器中前臺沒有運行的應用,則啓動後會自動中止容器,可在容器啓動後執行前臺輸出命令,如tail一個文件)vim
docker run -d -p 8080:8080 myjava //之後臺模式啓動容器myjava,並將容器的8080端口映射到主機的8080端口 centos
docker exec -it xxx /bin/bash //打開一個shell進入到容器中,經過ctrl+d或exit命令能夠退出shell,退出不會中止容器bash
docker logs xxx //查看xxx容器的日誌
docker ps -a //查看全部容器
docker attach xxx //進入xxx容器,若是其中一個終端退出則全部終端將所有退出
docker exec -i -t xxx ls -l //向某xxx容器中執行某個命令
docker stop xxx //中止xxx容器
docker start xxx //啓動xxx容器
docker rm -f xxx //刪除xxx容器
docker tag xxx ooo //重命名xxx容器爲ooo
curl
5、創建私有的registry測試
1.拉取遠程registry鏡像
docker pull registry
2.配置daemon.json
vim /etc/docker/daemon.json
{
"insecure-registries":["192.168.3.20:5000"]
}
配置中的「192.168.3.20」爲私有倉庫的ip地址及端口
配置完成後重啓docker
service docker restart
3.啓動registry容器
docker run -d --name registry -p 5000:5000 --restart=always -v /opt/registry/:/var/lib/registry/ registry:latest
4.測試是否啓動容器
curl http://192.168.3.20:5000/v2/_catalog
返回{"repositories":[]}表示啓動成功
5.測試上傳私有registry
先對要上傳的鏡像進行重命名,容器前綴需與私有registry地址對應
docker tag myjava 192.168.3.20:5000/myjava
而後執行上傳
docker push 192.168.3.20:5000/myjava
查看是否上傳成功
curl http://192.168.3.20:5000/v2/_catalog
返回{"repositories":["myjava"]},說明已經push到了本身的registry
6.測試遠程拉取
首先在要測試的物理機上執行2.配置daemon.json,而後重啓docker
重啓完後執行拉取
docker pull 192.168.3.20:5000/myjava
經過查看是否拉取成功
docker images