Docker安裝及使用

2022-05-24 23:57:12 字數 4439 閱讀 3990

本文主要為docker的基礎知識

cd /etc 

cd /etc/yum.repos.d/

mv centos-base.repo centos-base.repo.back #建議備份或者改名

wget -o centos-base.repo

yum makecache #生成快取

參考鏈結

older versions of docker were calleddockerordocker-engine. if these are installed, uninstall them, along with associated dependencies.

$ sudo yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-engine

yum -y install gcc

yum -y install gcc-c++

$ sudo yum install -y yum-utils \

lvm2

$ sudo yum-config-manager \

--add-repo \

yum makecache fastyum -y install docker-ce

啟動docker

systemctl start docker

針對docker客戶端版本大於 1.10.0 的使用者

您可以通過修改daemon配置檔案/etc/docker/daemon.json來使用加速器,映象位址是自己的

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <

eofsudo systemctl daemon-reload

sudo systemctl restart docker

#獲取當前映象id

docker images -q

#獲取所有映象id

docker images -qa

#搜尋映象

docker search 映象名

#拉取映象

docker pull 映象名:tag

#刪除單個映象

docker rmi -f 映象id

#刪除多個映象

docker rmi -f 映象id:tag 映象id:tag

#刪除全部(慎用!)

docker rmi -f $(docker images -qa)

呼叫格式:docker run [options] image [command] [arg…]常用的引數主要有:

# 檢視所有在執行的容器

docker container ls

docker ps -l (上一次執行的容器) -n 3(上三次執行的容器)

# 檢視所有容器,已停止的容器也會顯示

docker container ls -a

docker ps -a

# 停止執行容器

docker kill container_id/container_name (強制停止)

docker stop container_id/container_name

# 啟動/重啟停止了的容器

docker start/restart container_id/container_name

# 刪除未執行的容器

docker rm container_id/container_name

#啟動守護式容器

docker run -d 容器名

#檢視容器日誌

docker logs -f -t --tail 容器id

【注】-t 加入時間戳

-f跟隨最新列印日誌

#檢視容器內執行的程序

docker top 容器id

# 檢視容器配置的細節和執行時資訊

docker inspect container_id/container_name

# 對執行時的容器,執行bash命令

docker exec container_id/container_name bash_commands 在容器中開啟新的終端

docker attach container_id/container_name bash_commands 直接進入容器啟動的終端

# 後面新增 -it 會連線到容器的shell程序

docker exec -it container_id/container_name bash_commands

#從容器內拷貝檔案到主機上

docker cp 容器id:容器內路徑 目的主機路徑

#提交容器副本使之成為乙個新的映象

docker commit -m="描述資訊" -a="作者" 容器id 要建立的目標映象名:[tag]

【容器和宿主機之間資料共享】

docker run -it -v linux_absolut_path:container_absolute_path 映象名

#容器內資料唯讀(ro:read only)

docker run -it -v linux_absolut_path:container_absolute_path:ro 映象名

【容器和容器之間資料共享】

#語法,容器1繼承容器2

docker run -it --name 容器名1 --volumes-from 容器名2 映象名

【結論】

容器間配置資訊的傳遞,資料卷的生命週期一直持續到沒有容器使用它為止。(沒死絕就都有)

1、編寫dockerfile檔案2、 docker build

3、docker run

dockerfile內容基礎知識:

每條保留字指令都必須為大寫字母且後面要跟隨至少乙個引數

指令按照從上到下,順序執行

#表示注釋

每條指令都會建立乙個新的映象層,並對映象進行提交

大致流程:

docker從基礎映象執行乙個容器

執行一條指令並對容器進行修改

執行類似docker commit的操作提交乙個新的映象層

docker在基於剛提交的映象執行乙個新的容器

執行dockerfile中的下一條指令知道所有指令都執行完成

copy

from

runexpose

workdir

envvolume

cmdentrypoint

onbuild

maintainer

99%都是from scratch

dockerfile檔案:

from centos

env mypath /tmp

workdir $mypath

#讓它支援vim以及ifconfig

run yum -y install vim

run yum -y install net-tools

expose 80

cmd /bin/bash

執行:

docker build -f /mydocker/dockerfile -t mycentos:1.3 .

3、自定義映象tomcat9

docker run -p 3306:3306 --name mysql -v /msuse/mysql/conf:/etc/mysql/conf.d -v /msuse/mysql/logs:/logs -e mysql_root_password=123456 -d mysql:5.6

docker 安裝及使用

1.為什麼需要搭建本地倉庫?a.節約頻寬 因為如果用docker或阿里雲官方的倉庫走的網際網路浪費頻寬,而且慢。b.提供資源利用和安全 因為公司內部的映象,推送到本地倉庫,更方便公司內部人員用,而且安全性高。2.建立乙個倉庫容器 docker run d p 5000 5000 restart al...

Docker安裝及使用

移除舊程式 sudo yum remove docker docker client docker client latest docker common docker latest docker latest logrotate docker logrotate docker engine 設定r...

Docker 安裝Docker及基本使用

該文以centos系統為例,介紹docker安裝及基本使用。為了簡化安裝流程,docker 官方提供了一套安裝指令碼,centos 系統上可以使用這套指令碼安裝 執行這個命令後,指令碼就會自動的將一切準備工作做好,並且把 docker 安裝在系統中。阿里雲安裝指令碼 映象官方中國區的加速器 sudo...