docker容器化部署及使用方式
一、什么是Docker
Docker是Google使用go語言開發(fā)出來的一個開源的應用容器引擎,可以讓開發(fā)者快速的打包應用程序及相應的依賴程序到一個輕量級、可移植的容器中,再發(fā)布容器到任意的服務器上(Linux與Windows都支持Docker),容器間使用沙箱機制,相互之間互不影響。

二、安裝部署
1、卸載舊版本
---卸載舊版本
$ yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、基礎依賴安裝
----依賴包安裝 $ yum install -y yum-utils device-mapper-persistent-data lvm2 ----設置docker-ce yum源 $ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3、docker安裝
---安裝最新版本 $ yum install docker-ce docker-ce-cli containerd.io ---指定版本安裝 ----存儲庫中列出可用版本,然后選擇并安裝 $yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable 安裝指定版本 $ yum install docker-ce-to docker-ce-cli-18.09.1 containerd.io
4、啟動
啟動 Docker $ systemctl start docker 開機啟動設置 $ systemctl enable docker
5、安裝portainer
安裝portainer $docker pull docker.io/portainer/portainer 啟動portainer $docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name prtainer-test docker.io/portainer/portainer
三、Docker設置阿里云鏡像加速

---"insecure-registries": ["https://harbor.****.com"] 私有鏡像倉庫配置,下面會使用
-- "registry-mirrors": ["https://****.mirror.aliyuncs.com"]阿里鏡像加速設置
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://****.mirror.aliyuncs.com"],"insecure-registries": ["https://harbor.****.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
四、Docker使用
1、開啟遠程訪問
--開放2375端口,進行遠程連接 vim /usr/lib/systemd/system/docker.service --添加如下內(nèi)容 -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 --重啟 systemctl daemon-reload systemctl restart docker
2、常用命令
--鏡像搜索 docker search nginx --鏡像下載 docker pull nginx --鏡像查看 docker image ls ----或者 docker images --刪除本地鏡像 docker image rm 鏡像id ----或者 docker rmi 鏡像id --查看容器 docker ps -a --刪除容器 docker rm -f 容器id --創(chuàng)建并啟動容器(后臺運行,加入 -d參數(shù),端口映射 -p 8080:8080 ,文件掛載 -v /test:/test,設置容器名稱 --name abc ) docker run -it -d -p 8080:80 -v /test:/test [image] bash --容器日志查看 docker logs 容器id --啟動已創(chuàng)建的容器 docker start [容器id或者容器名字] --啟動并進入容器 docker run -it 鏡像名稱:版本 /bin/bash --導出和導入容器 docker export 容器id > mynginx.tar --導入鏡像 docker import mynginx.tar mynginx:1.0 --啟動容器 docker run -d mynginx:1.0 bash
3、推送自己的鏡像到dockerhub
--添加hosts echo "a.b.c.d harbor.abcd.com" >> /etc/hosts --登錄鏡像倉庫 docker login https://harbor.abcd.com --創(chuàng)建鏡像 docker commit 容器id 鏡像名稱 ----將鏡像重新命名 docker tag 鏡像id harbor.abcd.com/test/nginx:v2 ----推送鏡像 docker push harbor.abcd.com/test/nginx:v2
五、DockerFile構(gòu)建
1、命令發(fā)布
創(chuàng)建Dockerfile
vim Dockerfile --添加以下內(nèi)容 FROM harbor.abcd.com/hawkeye/jdk1.8:v1 # 設置時區(qū) ENV TZ=Asia/Shanghai # 時區(qū)寫入系統(tǒng)文件 VOLUME /tmp COPY docker-demo-0.0.1-SNAPSHOT.jar /app.jar #RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone #RUN bash -c "touch /app.jar" EXPOSE 8080 #ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] ENTRYPOINT ["java","-jar","/app.jar"]
--創(chuàng)建鏡像 $ docker build -t docker-demo:v1 . --查看鏡像 $ docker images --啟動容器 $ docker run -d -p 8080:8080 鏡像ID
地址訪問:
http://192.168.1.202:8080/docker/test1
2、Idea集成docker發(fā)布
1)在resource目錄下創(chuàng)建Dockerfile并添加內(nèi)容

2)創(chuàng)建docker連接



3)發(fā)布



總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
解決docker啟動失敗Failed?to?start?containerd?container?runtim
這篇文章主要介紹了解決docker啟動失敗Failed?to?start?containerd?container?runtime問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
docker使用storage出現(xiàn)Exit導致文件無法上傳服務器的問題及解決方案
這篇文章主要介紹了docker使用storage出現(xiàn)Exit導致文件無法上傳服務器解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06

