Docker 常用命令 以及windows 虛擬機安裝

1.docker 常用命令解析

docker ps? : 查看當前運行的 container? -a 查看之前的container

docker stop :停止container

docker rm:? 刪除container

docker rmi : 刪除image

docker images : 查看當前image集合

docker run : 運行image -d 后臺運行 --name 聲明別名 -p 將宿主機端口映射到容器端口

docker exec -it xxx /bin/bash? 進入container 進行操作

docker exec -it xxx /bin/sh 有點container 不帶/bin/bash 可以用這個替換

docker pull? : 將docker image 拉取到本地

docker build -t <name> . 將當前目錄下 Dockerfile 文件 打包成image?

2.docker 將springBoot jar 打包成image

1.將目標jar包上傳到某服務器

2.編輯 Dockerfile 文件 同jar包目錄下

3. file 文件內(nèi)容 :

? 1# 基礎(chǔ)鏡像是docker倉庫的java:8(也就是jdk8的意思)

? ? FROM java:8

? #? 作者簽名

? ? MAINTAINER Ma Lizhi

? #? 簡化 jar 的名字路徑 (左邊是服務器中jar包的路徑,因為當前文件是和jar包同級,所以直接寫名字即可,右邊是鏡像中要存放jar包的路徑)

? ? COPY lost_and_found-v1.jar /lost_and_found-v1.jar

? #? 執(zhí)行 java -jar 命令 (CMD:在啟動容器時才執(zhí)行此行。RUN:構(gòu)建鏡像時就此行,后面的jar包路徑就是上面要設(shè)置的jar包路徑)

? ? CMD java -jar /lost_and_found-v1.jar

? #? 設(shè)置對外端口為 8082

? ? EXPOSE 8082

4.在這個目錄下 執(zhí)行 docker build -t test .? //將當前目錄下DockerFile 打包到image 中

5. 通過docker images 查看 image 是否成功? 如果成功 通過docker run

3.docker 虛擬機安裝

我們通常在windows上面想要進行docker 最理想的是利用虛擬機 安裝centos 系統(tǒng)?

這邊采用vagrant + virtual box 來搭建虛擬機加上 創(chuàng)建docker?

下面我對虛擬機的過程做個筆記

1.下載安裝vagrant

01 訪問Vagrant官網(wǎng) https://www.vagrantup.com/

02 點擊Download Windows,MacOS,Linux等

03 選擇對應的版本

04 傻瓜式安裝

05 命令行輸入vagrant,測試是否安裝成功

2.下載安裝virtual box

01 訪問VirtualBox官網(wǎng)? ? https://www.virtualbox.org/

02 選擇左側(cè)的“Downloads”

03 選擇對應的操作系統(tǒng)版本

04 傻瓜式安裝

05 [win10中若出現(xiàn)]安裝virtualbox快完成時立即回滾,并提示安裝出現(xiàn)嚴重錯誤? ? (1)打開服務? ? (2)找到Device Install Service和Device Setup Manager,然后啟動? ? (3)再次嘗試安裝

4.安裝centos7

01 創(chuàng)建first-docker-centos7文件夾,并進入其中[目錄路徑不要有中文字符]

02 在此目錄下打開cmd,運行vagrant init centos/7? 此時會在當前目錄下生成Vagrantfile?

03 運行vagrant up[注意不要運行,拉取遠端的centos7太慢]? 此時會找centos7的鏡像,本地有就用本地的,本地沒有就會拉取遠端的?

04 準備centos7的box?

? ? (1)選中命令行中提示的鏈接? ? ? 比如 https://vagrantcloud.com/centos/boxes/7/versions/1905.1/providers/virtualbox.box?

? ? (2)復制到迅雷中下載?

? ? (3)vagrant box add centos/7 D:\迅雷下載\virtualbox.box? ?

? ? (4)vagrant box list? 查看本地的box[這時候可以看到centos/7]? ?

05 根據(jù)本地的centos7 box創(chuàng)建虛擬機? ? vagrant up[打開virtual box,可以發(fā)現(xiàn)centos7創(chuàng)建成功]?

06 vagrant基本操作? ?

? ? ? (1)vagrant ssh? ? ? ? ? ? 進入剛才創(chuàng)建的centos7中? ?

? ? ? (2)vagrant status? ? ? ? 查看centos7的狀態(tài)? ?

? ? ? (3)vagrant halt? ? ? ? 停止centos7? ?

? ? ? (4)vagrant destroy? ? ? ? 刪除centos7? ?

? ? ? (5)vagrant status? ? ? ? 查看當前vagrant創(chuàng)建的虛擬機?

? ? ? (6)Vagrantfile中也可以寫腳本命令,使得centos7更加豐富? ? ? ? 但是要注意,修改了Vagrantfile,要想使正常運行的centos7生效,必須使用vagrant reload

5 多節(jié)點Vagrantfile 案例

(1..2).each do |i|

? ? ? config.vm.define "node#{i}" do |node|

? ? ? ? ? # 設(shè)置虛擬機的Box

? ? ? ? ? node.vm.box = "centos/7"

? ? ? ? ? # 設(shè)置虛擬機的主機名

? ? ? ? ? node.vm.hostname="node#{i}"

? ? ? ? ? # 設(shè)置虛擬機的IP

? ? ? ? ? node.vm.network "private_network", ip: "192.168.56.#{100+i}"

? ? ? ? ? # 設(shè)置主機與虛擬機的共享目錄

? ? ? ? ? # node.vm.synced_folder "~/Documents/vagrant/share", "/home/vagrant/share"

? ? ? ? ? # VirtaulBox相關(guān)配置

? ? ? ? ? node.vm.provider "virtualbox" do |v|

? ? ? ? ? ? ? # 設(shè)置虛擬機的名稱

? ? ? ? ? ? ? v.name = "node#{i}"

? ? ? ? ? ? ? # 設(shè)置虛擬機的內(nèi)存大小

? ? ? ? ? ? ? v.memory = 2048

? ? ? ? ? ? ? # 設(shè)置虛擬機的CPU個數(shù)

? ? ? ? ? ? ? v.cpus = 2

? ? ? ? ? end

? ? ? end

? end

6 vagrant root xshell 登陸

(1) 在vagrant 當前虛擬機安裝目錄下 執(zhí)行 vagrant ssh

(2) vi /etc/ssh/sshd_config

(3) 修改PasswordAuthentication yes

(4) passwd修改密碼

(5) systemctl restart sshd

7 安裝docker

刪除 以前的 yum remove docker? docker-client? docker-client-latest? docker-common \? ? ? ? ? ? ? ? ? docker-latest? docker-latest-logrotate docker-logrotate? docker-engine

yum install -y yum-utils device-mapper-persistent-data? lvm2

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

? ? ? 修改鏡像為阿里云:自己查找阿里云鏡像服務(鏡像加速)

yum install -y docker-ce docker-ce-cli containerd.io? 安裝docker

systemctl start docker && sudo systemctl enable docker? 啟動docker

docker run hello-world? 測試是否安裝成功

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容