Docker在線、離線安裝及其常用命令操作
這里采用yum源命令安裝前期準(zhǔn)備的依賴包,包括yum-utils、device-mapper-persistent-data、lvm2
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
因?yàn)楣俜界R像倉(cāng)庫(kù)網(wǎng)速較慢,在此設(shè)置阿里云鏡像代理,以便快速下載、上傳鏡像。
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
接下來(lái)安裝Docker-CE 社區(qū)版,通過(guò)以下命令查看docker社區(qū)版安裝包列表。如下圖所示各docker版本信息。
yum list docker-ce --showduplicates | sort -r
選擇對(duì)應(yīng)版本安裝docker
sudo yum install docker-ce.x86_64
啟動(dòng)
sudo systemctl enable docker
sudo systemctl start docker
驗(yàn)證:查看版本信息命令,出現(xiàn)下圖時(shí)表明安裝成功。
docker version
提供以下三種方式下載docker離線安裝包
Docker官方地址:docker down
1.百度云下載地址: https://pan.baidu.com/s/1tZpsOvY0wmCfwHXlNJuq8Q 提取碼: rhaq
2.有網(wǎng)服務(wù)器執(zhí)行命令下載:wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.6.tgz
3.官方參考文檔:https://docs.docker.com/install/linux/docker-ce/binaries/#install-static-binaries
將已下載好的docker離線包拷貝到服務(wù)器,解壓壓縮包
tar -xvf docker-18.09.6.tgz
將解壓出來(lái)的docker文件內(nèi)容移動(dòng)到 /usr/bin/ 目錄下
cp docker/* /usr/bin/
注冊(cè)編輯docker服務(wù)
vim /etc/systemd/system/docker.service
寫入以下內(nèi)容后保存
[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target [Service]Type=notify# the default is not to use systemd for cgroups because the delegate issues still# exists and systemd currently does not support the cgroup feature set required# for containers run by dockerExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP $MAINPID# Having non-zero Limit*s causes performance problems due to accounting overhead# in the kernel. We recommend using cgroups to do container-local accounting.LimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinity# Uncomment TasksMax if your systemd version supports it.# Only systemd 226 and above support this version.#TasksMax=infinityTimeoutStartSec=0# set delegate yes so that systemd does not reset the cgroups of docker containersDelegate=yes# kill only the docker process, not all processes in the cgroupKillMode=process# restart the docker process if it exits prematurelyRestart=on-failureStartLimitBurst=3StartLimitInterval=60s [Install]WantedBy=multi-user.target
添加權(quán)限后啟動(dòng)
chmod +x /etc/systemd/system/docker.service
重新加載配置文件
systemctl daemon-reload
啟動(dòng)Docker
systemctl start docker
設(shè)置開機(jī)自啟
systemctl enable docker.service
驗(yàn)證是否安裝成功
systemctl status docker
docker -v
**
四、常用命令(搜索、下載本地未有鏡像需要聯(lián)網(wǎng))
**
搜索鏡像,
#docker search 鏡像名稱
docker search java
下載鏡像
#docker pull 鏡像名稱
docker pull java
查看已下載的鏡像
docker images
刪除鏡像
刪除單個(gè)鏡像:docker rmi 鏡像名稱
刪除所有鏡像:docker rmi -f $(docker images)
操作容器
使用docker run命令可新建并啟動(dòng)一個(gè)容器,例如使用java鏡像啟動(dòng):docker run java /bin/echo ’Hello World’
其它啟動(dòng)可選附帶參數(shù):
-d 選項(xiàng):表示后臺(tái)運(yùn)行
-P 選項(xiàng):隨機(jī)端口映射
-p 選項(xiàng): 指定端口映射,有以下四種模式:
① ip:hostPort:containerPort
② ip::containerPort
③ hostPort:containerPort
④ containerPort
實(shí)例測(cè)試Nginx容器
docker run --name nginxTest -d -p 91:80 nginx
說(shuō)明:docker 啟動(dòng)容器時(shí),本地?zé)o該容器時(shí)會(huì)自動(dòng)從Docker Hup下載引用
-d #后臺(tái)運(yùn)行
-p #宿主機(jī)端口:容器端口 #開放容器端口到宿主機(jī)端口
?name #自定義容器名稱
瀏覽器訪問(wèn)http://服務(wù)器ip:91 ,如果出現(xiàn)Nginx主頁(yè)則表示啟動(dòng)成功。
查看容器狀態(tài)
查看正在運(yùn)行容器詳情 docker ps
查看所有容器詳情 docker ps -a
? CONTAINER ID #容器ID
? IMAGE #鏡像
? CREATED #創(chuàng)建時(shí)間
? STATUS #狀態(tài) Up代表正在運(yùn)行,Exited 表示已停止運(yùn)行
? PORTS #端口
? NAMES #容器名稱
查看容器日志
格式:docker logs -f -t --tail 行數(shù) 容器名 或者 docker logs -f -t --tail 行數(shù) 容器ID
docker logs -f -t --tail 200 483a128fdb39
停止容器
docker stop 容器ID 或 docker stop 容器名稱
強(qiáng)制停止容器
docker kill 容器ID
啟動(dòng)已停止的容器
docker start 容器ID
重啟容器
docker restart 容器ID
進(jìn)入容器
(1)使用docker attach 命令進(jìn)行容器,有多窗口操作會(huì)同步顯示和阻塞問(wèn)題。
docker attach 容器ID
(2)使用nsenter進(jìn)入容器
docker inspect --format '{{.State.Pid}}' 容器ID #查詢出pid
nsenter --target 查詢的pid --mount --uts --ipt --net --pid
(3) 推薦 使用docker exec 命令,該命令在1.3.x版本之后提供。
docker exec -it 容器ID /bin/bash
查看容器詳情
docker inspect 容器ID
刪除容器
docker rm 容器ID
#該命令不可刪除正在運(yùn)行的容器,要執(zhí)意刪除加-f 參數(shù)
打包鏡像為離線包
docker save -o 文件名.tar 鏡像名稱
加載離線鏡像包
docker load < 文件名.tar
使用Dockerfile構(gòu)建Docker鏡像
以上面創(chuàng)建的Nginx為例,創(chuàng)建dockerfiler文件
touch Dockerfile
編輯dockerfiler文件
vim Dockerfile
填入以下內(nèi)容
FROM nginx#添加進(jìn)入docker容器后的目錄(可以不填)WORKDIR /opt/helloRUN echo ’<h1>Hello World!</h1>’ > /usr/share/nginx/html/index.html
在Dockerfile所在路徑執(zhí)行以下命令
docker build -t nginx:my .
啟動(dòng)一個(gè)docker容器
docker run -d -p 92:80 nginx:my
當(dāng)然也可指定配置文件路徑
docker run -d -p 92:80 -v /u01/hello/config:/opt/hello/config nginx:my
說(shuō)明:-d 后臺(tái)運(yùn)行,-p 對(duì)外暴露端口:內(nèi)部端口 -v linux文件路徑:容器內(nèi)路徑 --name 容器昵稱 啟動(dòng)的鏡像:版本號(hào)
之后只需要在linux 下的/u01/hello/config修改配置,重啟容器加載。
瀏覽器訪問(wèn)http://ip:92 ,可看到“Hello World!”信息。
以上這篇Docker在線、離線安裝及其常用命令操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP基礎(chǔ)知識(shí)VBScript基本元素講解2. ajax請(qǐng)求添加自定義header參數(shù)代碼3. Python requests庫(kù)參數(shù)提交的注意事項(xiàng)總結(jié)4. IntelliJ IDEA導(dǎo)入jar包的方法5. Kotlin + Flow 實(shí)現(xiàn)Android 應(yīng)用初始化任務(wù)啟動(dòng)庫(kù)6. 詳談ajax返回?cái)?shù)據(jù)成功 卻進(jìn)入error的方法7. 使用Python和百度語(yǔ)音識(shí)別生成視頻字幕的實(shí)現(xiàn)8. 使用python 計(jì)算百分位數(shù)實(shí)現(xiàn)數(shù)據(jù)分箱代碼9. python操作mysql、excel、pdf的示例10. vue-electron中修改表格內(nèi)容并修改樣式
