在Ubuntu中安裝Docker和docker的使用方式
1.卸載舊版本
- 刪除某軟件,及其安裝時自動安裝的所有包
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
- 刪除docker其他沒有沒有卸載
dpkg -l | grep docker
- 卸載沒有刪除的docker相關插件(結合自己電腦的實際情況)
sudo apt-get autoremove docker-ce-*
- 刪除docker的相關配置&目錄
sudo rm -rf /etc/systemd/system/docker.service.d
sudo rm -rf /var/lib/docker
- 確定docker卸載完畢
docker --version
(apt-get remove 會刪除軟件包而保留軟件的配置文件 apt-get purge 會同時清除軟件包和軟件的配置文件)
2.在Ubuntu中安裝Docker
更新ubuntu的apt源索引
sudo apt-get update
安裝包允許apt通過HTTPS使用倉庫
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
添加Docker官方GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
(國內(nèi)阿里云版 curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -)
設置Docker穩(wěn)定版?zhèn)}庫
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
添加倉庫后,更新apt源索引
sudo apt-get update
安裝最新版Docker CE(社區(qū)版)
方式1:
sudo apt-get install docker-ce
選擇安裝docker-ce-cli和containerd.io
sudo apt-get install docker-ce-cli containerd.io
docker-ce-cli為遠程連接工具,containerd.io將 Docker 與 OS 分離,還為非 Docker 容器管理器提供容器服務
安裝指定版本的
- 方式2:
查看可獲取的版本 apt-cache madison docker-ce
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
驗證:
docker --version sudo docker run hello-world
將非root用戶加入docker組,以允許免sudo執(zhí)行docker
sudo gpasswd -a 用戶名 docker
或sudo usermod -a -G docker $USER
--可以設置用戶權限,注意執(zhí)行后須注銷重新登錄
重啟服務并刷新docker組成員
sudo service docker restart newgrp - docker
設置開機自啟動并啟動 Docker-ce(安裝成功后默認已設置并啟動,可忽略)
sudo systemctl enable docker sudo systemctl start docker
升級版本
sudo apt-get update
按照以上步驟安裝新版本
選擇安裝docker-compose
https://www.runoob.com/docker/docker-compose.html sudo curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose docker-compose --version
3.啟動與停止
安裝完成Docker后,默認已經(jīng)啟動了docker服務,如需手動控制docker服務的啟停,可執(zhí)行如下命令
- 啟動docker
sudo service docker start
- 停止docker
sudo service docker stop
- 重啟docker
sudo service docker restart
4.Docker鏡像操作
列出鏡像
docker images
REPOSITORY
:鏡像所在的倉庫名稱TAG
:鏡像標簽IMAGEID
:鏡像IDCREATED
:鏡像的創(chuàng)建日期(不是獲取該鏡像的日期)SIZE
:鏡像大小
搜索鏡像
docker search ubuntu
拉取鏡像
要想獲取某個鏡像,我們可以使用pull命令,從倉庫中拉取鏡像到本地,如
docker pull hackeryx/ubuntu:16.04
刪除鏡像
docker image rm 鏡像名或鏡像id
或 docker rmi 鏡像名或鏡像id
5. Docker 容器操作
創(chuàng)建容器
docker run [option] 鏡像名:tag [向啟動容器中傳入的命令]
常用可選參數(shù)說明:
-i
表示以“交互模式”運行容器-t
表示容器啟動后會進入其命令行。加入這兩個參數(shù)后,容器創(chuàng)建就能登錄進去。即 分配一個偽終端。–name
為創(chuàng)建的容器命名-v
表示目錄映射關系(前者是宿主機目錄,后者是映射到宿主機上的目錄,即 宿主機目錄:容器中目錄),可以使 用多個-v 做多個目錄或文件映射。注意:最好做目錄映射,在宿主機上做修改,然后 共享到容器上。-d
在run后面加上-d參數(shù),則會創(chuàng)建一個守護式容器在后臺運行(這樣創(chuàng)建容器后不 會自動登錄容器,如果只加-i -t 兩個參數(shù),創(chuàng)建后就會自動進去容器)。-p
表示端口映射,前者是宿主機端口,后者是容器內(nèi)的映射端口??梢允褂枚鄠€-p 做多個端口映射-e
為容器設置環(huán)境變量–network=host
表示將主機的網(wǎng)絡環(huán)境映射到容器中,容器的網(wǎng)絡與主機相同
交互式容器
例如,創(chuàng)建一個交互式容器,并命名為myubuntu
docker run -it --name=ubuntu kochul2000/ubuntu20.04-apt-pip:latest /bin/bash
在容器中可以隨意執(zhí)行l(wèi)inux命令,就是一個ubuntu的環(huán)境,當執(zhí)行exit命令退出時,該容器也隨之停止。
守護式容器
創(chuàng)建一個守護式容器:如果對于一個需要長期運行的容器來說,我們可以創(chuàng)建一個守護式容器。在容器內(nèi)部exit退出時,容器也不會停止。
docker run -itd --name=ubuntu2 --network=host kochul2000/ubuntu20.04-apt-pip:latest
進入已運行的容器
docker exec -it 容器名或容器id 進入后執(zhí)行的第一個命令
docker exec -it ubuntu /bin/bash
查看容器
列出本機所有容器,包括已經(jīng)終止運行的
docker ps -a
停止與啟動容器
- 停止一個已經(jīng)在運行的容器
docker container stop 容器名或容器id
- 啟動一個已經(jīng)停止的容器
docker container start 容器名或容器id
- kill掉一個已經(jīng)在運行的容器
docker container kill 容器名或容器id
刪除容器
docker container rm 容器名或容器id
或 docker rm 容器名或容器id
6. 將容器保存為鏡像
我們可以通過如下命令將容器保存為鏡像
docker commit [OPTIONS] CONTAINER [REPOSITORY]:[TAG]
OPTIONS說明:
-a
:提交的鏡像作者;-c
:使用Dockerfile指令來創(chuàng)建鏡像;-m
:提交時的說明文字;-p
:在commit時,將容器暫停。
docker commit 容器名 鏡像名:tag
7. 鏡像備份與遷移
我們可以通過save命令將鏡像打包成文件,拷貝給別人使用
docker save -o 保存的文件名 鏡像名
例如
docker save -o ./ubuntu.tar ubuntu
在拿到鏡像文件后,可以通過load方法,將鏡像加載到本地
docker load -i ./ubuntu.tar
保存為tar.gz格式詳見http://www.dbjr.com.cn/server/339715p2d.htm
8.查看鏡像及其容器占用磁盤大小
- 命令:
docker system df
- 查看單個image、container大?。?/li>
docker system df -v
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
在IntelliJ IDEA中使用Docker的開發(fā)指南
這篇文章主要給大家介紹了在IntelliJ IDEA中使用Docker開發(fā)指南,文中通過圖文介紹的非常詳細,對我們的使用Docker有一定的幫助,需要的朋友可以參考下2023-09-09Docker容器上用DockerFile部署多個tomcat服務的步驟
這篇文章主要介紹了Docker容器上用DockerFile部署多個tomcat服務的步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11docke-cli的調(diào)試環(huán)境搭建過程
在搭建docker-cli的調(diào)試環(huán)境時,遇到很多坑,通過本文講解下搭建docke-cli的調(diào)試環(huán)境的詳細方法,需要的朋友可以參考下2022-11-11Docker 容器互聯(lián)互通的實現(xiàn)方法
這篇文章主要介紹了Docker 容器互聯(lián)互通,本文講解不同網(wǎng)絡下的容器可以通過加入同一個docker網(wǎng)絡,來訪問該docker網(wǎng)絡下的容器,并且既可以通過容器ip也可以通過容器名連接,非常方便,需要的朋友可以參考下2022-10-10Docker上部署?nps?和?npc?實現(xiàn)內(nèi)網(wǎng)穿透
本文介紹了如何使用Docker部署nps和npc實現(xiàn)內(nèi)網(wǎng)穿透。nps是一款高性能的內(nèi)網(wǎng)穿透代理服務器,npc是nps的客戶端,可以將內(nèi)網(wǎng)服務映射到公網(wǎng)上。通過Docker的容器化技術,可以方便地部署和管理nps和npc,同時保證了應用的隔離性和安全性。2023-04-04