docker容器安裝及部署的超詳細入門教程
1.安裝docker
(1)卸載以前安裝的Docker容器
sudo yum remove docker \ docker-client \ docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \ocker-engine
(2)安裝docker
yum install -y docker
(3)查看docker是否安裝成功
yum list installed |grep docker
(4)啟動docker服務(wù)(并設(shè)置開機自啟)
systemctl start docker.service systemctl enable docker.service
(5)查看docker服務(wù)狀態(tài) running 就是啟動成功
systemctl status docker
(6)使用docker鏡像
systemctl status docker
(7)配置docker國內(nèi)鏡像(中國科學(xué)技術(shù)大學(xué))
在宿主機器編輯文件:vim /etc/docker/daemon.json 請在該配置文件中加入(沒有該文件的話,請先建一個): { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
(8)最后,需要重啟docker服務(wù)
systemctl restart docker.service
2.docker 安裝 redis
(1)拉取redis鏡像
docker pull redis
(2)查看本地鏡像
docker images
(3)運行容器
docker run -itd --name redis-test -p 6379:6379 redis
(4)安裝成功 查看容器的運行信息
docker ps
(5)連接測試使用 redis 服務(wù)
docker exec -it redis-test /bin/bash
(6)退出
exit
3.docker 安裝rabbitmq
(1)下載鏡像
docker pull rabbitmq:3.7-management
(2)查看鏡像
docker images
(3)創(chuàng)建rabbitmq容器
docker run -d --name myrabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.7-management 5672是項目中連接rabbitmq的端口(我這里映射的是5672),15672是rabbitmq的web管理界面端口(我映射為15672) 初始賬號:guest 初始密碼:guest
(4)查看容器
docker ps
4.docker 安裝postgresql
(1)拉取鏡像
docker pull postgres:9.6
(2)啟動容器
docker run --name postgres -e POSTGRES_PASSWORD=password -p 5432:5432 -v /usr/postgresql/data:/var/lib/postgresql/data -d postgres 端口映射的是5432 run: 創(chuàng)建并運行一個容器; --name: 指定創(chuàng)建的容器的名字; -e POSTGRES_PASSWORD=password: 設(shè)置環(huán)境變量,指定數(shù)據(jù)庫的登錄口令為password; -p 5432:5432: 端口映射將容器的5432端口映射到外部機器的5432端口; -d postgres 指定使用postgres作為鏡像。 登錄的初始用戶:postgres 登錄的初始密碼:password
(3)查看容器
docker ps
5.docker 安裝jdk 并配置環(huán)境變量
(1)docker下載centos鏡像(用作配置jdk環(huán)境系統(tǒng))
docker pull centos #版本號可以自己加,默認拉取最新的
(2)查看本地鏡像
docker images 例如: REPOSITORY 鏡像名稱;TAG 鏡像標(biāo)簽 (后面可用于發(fā)布到個人dockerhub上); IMAGE ID 是鏡像ID;CREATED 創(chuàng)建時間;SIZE 大小 [root@VM_0_9_centos etc]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat latest 3639174793ba 6 weeks ago 463MB mysql latest 990386cbd5c0 7 weeks ago 443MB centos latest 9f38484d220f 3 months ago 202MB hello-world latest fce289e99eb9 6 months ago 1.84kB
(3)創(chuàng)建容器
容器是基于鏡像創(chuàng)建的,執(zhí)行鏡像生成容器,方可進入容器 啟動容器命令: docker run <相關(guān)參數(shù)> <鏡像 ID> <初始命令> docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash 參數(shù)解析 -i:表示以“交互模式”運行容器 -t:表示容器啟動后會進入其命令行 -v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄> /bin/bash:一旦容器啟動,需要執(zhí)行的命令,當(dāng)前使用 "/bin/bash", 表示啟動后直接進bash shell /root/software是宿主機器(Linux)上創(chuàng)建的一個文件夾; /mnt/software是centos的容器里面的目錄文件 這里掛載的意思就是 9f38484d220f 創(chuàng)建的容器訪問 /mnt/software/ 目錄下的文件就相當(dāng)于訪問 宿主機的 /root/software/下的文件,且兩者文件夾里內(nèi)容相同
(4)退出容器
exit
(5)進入容器后的查看命令
docker ps : 查看當(dāng)前運行的容器信息(上面的退出方式就會默認關(guān)閉容器) docker ps -a : 查看關(guān)閉的容器
(6)啟動容器和進入容器
docker start [容器ID]:啟動容器 docker exec -it [容器ID] /bin/bash : 進入容器 這里還是以 docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash 命令進入容器
(7)在容器內(nèi)部安裝jdk1.8
下載 jdk的 tar包,通過ftp工具上傳到宿主服務(wù)器的/root/software/文件下,因為前面做了掛載,所以待會進入docker容器里的/mnt/software/文件夾下也是可以看到的
(8)進入centos容器中的/mnt/software文件夾
docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash 進入容器 cd /mnt/software 進入/mnt/software
(9)解壓
tar -zxvf jdk-8u211-linux-x64.tar.gz
(10)設(shè)置java 環(huán)境變量,配置profile
vi /etc/profile
在文件末尾加上
JAVA_HOME=/opt/jdk/ JAVA_BIN=/opt/jdk/bin JRE_HOME=/opt/jdk/jre CLASSPATH=/opt/jdk/jre/lib:/opt/jdk/lib:/opt/jdk/jre/lib/charsets.jar export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH
使得配置立馬有效
source /etc/profile
配置 bashrc
vi ~/.bashrc
在文件末尾加上
export JAVA_HOME=/opt/jdk export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
使得配置立馬有效
source ~/.bashrc
(11)查看jdk版本
java -version
(12) 使用vi命令時 出現(xiàn)vi: command not found 這是因為vim沒有安裝。 使用如下命令安裝
apt-get update apt-get install vim
6.停止和刪除容器
docker stop 容器id 停止容器 docker rm 容器id 刪除容器 docker rmi -f 鏡像id 刪除鏡像 docker run -it 容器image /bin/bash 啟動容器
7.Docker部署SpringBoot項目
(1)編寫Dockerfile文件
# Docker image for springboot file run # VERSION 0.0.1 # Author: eangulee # 基礎(chǔ)鏡像使用java FROM java:8 # VOLUME 指定了臨時文件目錄為/tmp。 # 其效果是在主機 /var/lib/docker 目錄下創(chuàng)建了一個臨時文件,并鏈接到容器的/tmp VOLUME /tmp # 將jar包添加到容器中并更名為app.jar demo-0.0.1-SNAPSHOT.jar jar名稱 ADD demo-0.0.1-SNAPSHOT.jar app.jar # 運行jar包 RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
解釋下這個配置文件: VOLUME 指定了臨時文件目錄為/tmp。其效果是在主機 /var/lib/docker 目錄下創(chuàng)建了一個臨時文件,并鏈接到容器的/tmp。該步驟是可選的,如果涉及到文件系統(tǒng)的應(yīng)用就很有必要了。/tmp目錄用來持久化到 Docker 數(shù)據(jù)文件夾,因為 Spring Boot 使用的內(nèi)嵌 Tomcat 容器默認使用/tmp作為工作目錄 項目的 jar 文件作為 “app.jar” 添加到容器的 ENTRYPOINT 執(zhí)行項目 app.jar。為了縮短 Tomcat 啟動時間,添加一個系統(tǒng)屬性指向 “/dev/./urandom” 作為 Entropy Source 如果是第一次打包,它會自動下載java 8的鏡像作為基礎(chǔ)鏡像,以后再制作鏡像的時候就不會再下載了。 (2)部署文件 在服務(wù)器新建一個docker文件夾,將maven打包好的jar包和Dockerfile文件復(fù)制到服務(wù)器的docker文件夾下
(3)制作鏡像
cd /root/docker docker build -t springbootdemo4docker .
注意點 …..
(4)查看鏡像
docker images
(5)啟動容器
docker run -d -p 8761:8761 springbootdemo4docker
docker run -it springbootdemo4docker /bin/bash
總結(jié)
到此這篇關(guān)于docker容器安裝及部署的文章就介紹到這了,更多相關(guān)docker安裝部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker?搭建?vulhub?靶場環(huán)境的詳細過程
Vulhub是一個基于docker和docker-compose的漏洞環(huán)境集合,進入對應(yīng)目錄并執(zhí)行一條語句即可啟動一個全新的漏洞環(huán)境,讓漏洞復(fù)現(xiàn)變得更加簡單,讓安全研究者更加專注于漏洞原理本身,這篇文章給大家介紹docker?搭建?vulhub?靶場環(huán)境的過程,感興趣的朋友一起看看吧2022-08-08docker創(chuàng)建centos容器并在容器里下載MySQL本地連接MySQL
這篇文章主要介紹了docker創(chuàng)建centos容器并在容器里下載MySQL本地連接MySQL,文章內(nèi)容介紹詳細需要的小伙伴可以參考一下2022-03-03云原生教程之使用Docker部署webssh工具sshwifty
Sshwifty是一個開源的WebSSH?&?WebTelnet客戶端,下面這篇文章主要給大家介紹了關(guān)于云原生教程之使用Docker部署webssh工具sshwifty的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-03-03centos7安裝/升級docker和docker compose方式
文章總結(jié)了在升級Docker和安裝Docker Compose時遇到的問題,包括舊版安裝和新版安裝的差異、docker-compose的安裝問題以及卸載前的注意事項2024-12-12liunx內(nèi)存滿了,docker中overlay2爆表解決方案
這篇文章主要介紹了liunx內(nèi)存滿了,docker中overlay2爆表解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08