Docker在線、離線安裝及其常用命令操作
一、測試環(huán)境
名稱 | 版本 |
---|---|
centos | 7.6 |
docker | 18.09.06 |
二、在線安裝
這里采用yum源命令安裝前期準(zhǔn)備的依賴包,包括yum-utils、device-mapper-persistent-data、lvm2
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
因為官方鏡像倉庫網(wǎng)速較慢,在此設(shè)置阿里云鏡像代理,以便快速下載、上傳鏡像。
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
接下來安裝Docker-CE 社區(qū)版,通過以下命令查看docker社區(qū)版安裝包列表。如下圖所示各docker版本信息。
yum list docker-ce --showduplicates | sort -r
選擇對應(yīng)版本安裝docker
sudo yum install docker-ce.x86_64
啟動
sudo systemctl enable docker
sudo systemctl start docker
驗證:查看版本信息命令,出現(xiàn)下圖時表明安裝成功。
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
將解壓出來的docker文件內(nèi)容移動到 /usr/bin/ 目錄下
cp docker/* /usr/bin/
注冊編輯docker服務(wù)
vim /etc/systemd/system/docker.service
寫入以下內(nèi)容后保存
[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=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 docker ExecStart=/usr/bin/dockerd ExecReload=/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=infinity LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. #TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=process # restart the docker process if it exits prematurely Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target
添加權(quán)限后啟動
chmod +x /etc/systemd/system/docker.service
重新加載配置文件
systemctl daemon-reload
啟動Docker
systemctl start docker
設(shè)置開機(jī)自啟
systemctl enable docker.service
驗證是否安裝成功
systemctl status docker
docker -v
**
四、常用命令(搜索、下載本地未有鏡像需要聯(lián)網(wǎng))
**
搜索鏡像,
#docker search 鏡像名稱
docker search java
下載鏡像
#docker pull 鏡像名稱
docker pull java
查看已下載的鏡像
docker images
刪除鏡像
刪除單個鏡像:docker rmi 鏡像名稱
刪除所有鏡像:docker rmi -f $(docker images)
操作容器
使用docker run命令可新建并啟動一個容器,例如使用java鏡像啟動:docker run java /bin/echo 'Hello World'
其它啟動可選附帶參數(shù):
-d 選項:表示后臺運行
-P 選項:隨機(jī)端口映射
-p 選項: 指定端口映射,有以下四種模式:
① ip:hostPort:containerPort
② ip::containerPort
③ hostPort:containerPort
④ containerPort
實例測試Nginx容器
docker run --name nginxTest -d -p 91:80 nginx
說明:docker 啟動容器時,本地?zé)o該容器時會自動從Docker Hup下載引用
-d #后臺運行
-p #宿主機(jī)端口:容器端口 #開放容器端口到宿主機(jī)端口
–name #自定義容器名稱
瀏覽器訪問http://服務(wù)器ip:91 ,如果出現(xiàn)Nginx主頁則表示啟動成功。
查看容器狀態(tài)
查看正在運行容器詳情 docker ps
查看所有容器詳情 docker ps -a
– CONTAINER ID #容器ID
– IMAGE #鏡像
– CREATED #創(chuàng)建時間
– STATUS #狀態(tài) Up代表正在運行,Exited 表示已停止運行
– 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 容器名稱
強制停止容器
docker kill 容器ID
啟動已停止的容器
docker start 容器ID
重啟容器
docker restart 容器ID
進(jìn)入容器
(1)使用docker attach 命令進(jì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
#該命令不可刪除正在運行的容器,要執(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/hello RUN echo '<h1>Hello World!</h1>' > /usr/share/nginx/html/index.html
在Dockerfile所在路徑執(zhí)行以下命令
docker build -t nginx:my .
啟動一個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
說明:-d 后臺運行,-p 對外暴露端口:內(nèi)部端口 -v linux文件路徑:容器內(nèi)路徑 --name 容器昵稱 啟動的鏡像:版本號
之后只需要在linux 下的/u01/hello/config修改配置,重啟容器加載。
瀏覽器訪問http://ip:92 ,可看到“Hello World!”信息。
以上這篇Docker在線、離線安裝及其常用命令操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker創(chuàng)建一個Nginx服務(wù)器的方法步驟
使用Dokcer可以很好的對鏡像進(jìn)行管理,創(chuàng)建和使用容器。這篇文章主要介紹了Docker創(chuàng)建一個Nginx服務(wù)器的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01Linux系統(tǒng)安裝docker并用ssh登錄docker容器的操作方法
今天小編就為大家分享一篇Linux系統(tǒng)安裝docker并用ssh登錄docker容器的操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06Docker 創(chuàng)建容器后再修改 hostname的詳細(xì)過程
這篇文章主要介紹了Docker 創(chuàng)建容器后再修改 hostname的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10