一、使用yum安裝docker
yum -y install docker
二、查看docker版本
docker version
三、安裝完成后,使用下面的命令來啟動 docker 服務,並將其設置為開機啟動:
[root@localhost ~]# systemctl start docker.service [root@localhost ~]# systemctl enable docker.service
四、設置docker加速
mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://fp4l15j6.mirror.aliyuncs.com"] } EOF systemctl daemon-reload systemctl restart docker
五、下載nodejs和mongodb的鏡像。需要的鏡像在docker阿里雲鏡像庫上查找
docker pull node docker pull mongo
六、安裝lrzsz工具,用以將windows上的nodejs文件 上傳到CentOS上
yum -y install lrzsz
七、將nodejs項目文件夾壓縮成tar.gz格式,然后在XShell中移動到指定目錄,輸入rz上傳文件。(nodejs項目不要包含node_modules文件夾)
cd /home rz ls
八、解壓項目文件到指定目錄
mkdir /home/blog tar zxvf blog.tar.gz blog
九、關閉selinux,不關閉這一個就無法實現docker的持久化,修改SELINUX=disabled,然后重啟系統,sestatus查看是否設置成功
vi /etc/selinux/config
十、使用docker運行mongodb數據庫,創建對應文件夾用以持久化
mkdir /home/mongo docker run --name mongodb -v /home/mongo:/data/db -p 27017:27017 -d mongo
十一、將位置移動到解壓的項目文件夾中,編寫Dockerfile來構建自己的鏡像,之前是解壓到blog文件夾中的,所以將位置改變為/home/blog
cd /home/blog
Dockerfile文件
#Dockerfile文件 FROM docker.io/node # Create app directory RUN mkdir -p /home/Service WORKDIR /home/Service # Bundle app source COPY . /home/Service RUN npm install EXPOSE 3000 CMD [ "npm", "start" ]
運行命令構建鏡像
docker build -t mynodeapp .
查看鏡像
docker images
十二、啟動nodejs項目
--link的作用是綁定其他容器,並將該容器以指定名稱暴露給當前容器。下面將mongodb的容器暴露給項目容器,這樣項目才能連接到mongodb。
(記得修改mongodb的連接地址,要不會報錯)
docker run --name nodeApp --link mongodb:mongodb -d -p 3000:3000 mynodeapp
十三、查看所有啟動docker容器
docker ps
十四、通過ip在瀏覽器訪問nodejs應用