docker基礎命令

2021-09-19 15:16:50 字數 4609 閱讀 2143

# 刪除存在的

sudo apt-get remove docker docker-engine docker.io

sudo apt-get update

#安裝依賴

#新增docker 公共金鑰

curl -fssl | sudo apt-key add -

##設定版本庫型別(ubuntu18.04對應版本「bionic「」),軟體版本包括三種:** stable、edge、test**

sudo add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"

# 更新系統包索引

sudo apt-get update

# 安裝最新版

sudo apt-get install docker-ce

# 驗證安裝是否成功

sudo docker --version

#啟動sudo systemctl start docker

#開機啟動

sudo systemctl enable docker

第一種

/etc/docker/daemon.json沒有就新建,新增寫明內容

第二種curl -ssl | sh -s

普通使用者打不開docker,新增到docker使用者組

sudo usermod -a -g docker zrq

newgrp docker #更新使用者組

如果提示get …… dial unix /var/run/docker.sock許可權不夠

sudo chmod a+rw /var/run/docker.sock

docker images	檢視本地所有倉庫

docker image ls 檢視本地所有映象

docker run hello-world 執行映象

docker ps 檢視執行中映象容器

docker ps -a 檢視執行過映象容器記錄

docker ps -aq 檢視執行過映象容器記錄的id

docker run ubuntu 執行映象

-i 互動式操作 -t 終端

-rm 容器退出後將其容器刪除

-d 返回容器的id

docker run --rm ubuntu 執行後刪除容器

docker run -it --rm ubuntu 進入ubuntu作業系統

exit 退出映象

docker rm 容器id 刪除容器

docker rm `docker ps -aq` 刪除所有容器記錄

docker rmi 映象id 刪除映象

docker logs 容器id 檢視後台執行容器的日誌

docker stop 容器id 停止後台執行容器

docker start 容器id 重新啟動容器

容器id 自定義名稱

docker commit 79e7a03388fb zrq/centos-vim

docker執行乙個web應用,通過埠對映外部瀏覽器可以訪問

將外部9000口對映到5000口,訪問9000即可訪問web

docker倉庫推送

docker login

docker push zrq1/web 注意zrq1為docker使用者名稱

docker  

-v 引數

假設我要在docker容器中安裝 nginx 軟體

nginx軟體有網頁根目錄

root /opt/static/nginx

js css

這個nginx靜態檔案,可以放在容器中管理

也可以通過-v引數掛載乙個資料

-v 宿主機/opt/staic/nginx 容器/opt/static/nginx

js1 js2 js3 容器中的nginx軟體,讀取資料時候,通過-v引數,去宿主機讀取

docker pull registry

2.啟動私有倉庫容器例項

docker run -d \

-p 5000:5000 \

-v /opt/data/registry:/var/lib/registry \

registry

3.檢查私有倉庫的容器id

docker ps

4.修改本地映象的tag,便於推送到本地映象倉庫

docker tag 映象名 10.0.0.10:5000/映象名

5.修改docker配置檔案,因為他預設不讓推送非https的映象

1.找到本地docker檔案

vim /etc/docker/daemon.json

2.寫入配置

必須注意此檔案是json格式!!!注意引號

3.將此檔案,新增到docker服務指令碼中

vim /lib/systemd/system/docker.service

4.寫入以下配置,注意!!!,寫入到[service]配置塊中,載入此配置檔案

[service]

environmentfile=/etc/docker/daemon.json

systemctl daemon-reload

6.重啟docker服務,使得生效

systemctl restart docker

7.由於重啟了docker,所有的容器例項全掛了,因此要開啟私有倉庫的容器例項

1.docker ps -a 檢查私有倉庫的容器記錄

2. docker start 私有倉庫的id

3.此時docker ps 檢查 私有倉庫服務是否啟動

8.推送本地映象到私有docker倉庫

docker push 10.0.0.10:5000/hello-world

9.docker私有倉庫提供了api資料可供檢視

10.可以測試刪除本地映象,然後從私有倉庫拖取映象

11.完畢。。。

# 建立檔案dockerfile

touch dockerfile

vim dockerfile

# 映象基礎

from scratch #製作base image 基礎映象,盡量使用官方的image作為base image

from centos #使用base image

from ubuntu:14.04 #帶有tag的base image

# 版本和資訊

label version=「1.0」 #容器元資訊,幫助資訊,metadata,類似於**注釋

label maintainer=「[email protected]"

# 安裝環境

#對於複雜的run命令,避免無用的分層,多條命令用反斜線換行,合成一條命令!

run yum update && yum install -y vim \

python-dev #反斜線換行

run yum install nginx -y

run yum install mysql -y

# 檔案路徑

workdir /root #相當於linux的cd命令,改變目錄,盡量使用絕對路徑!!!不要用run cd

workdir /test #如果沒有就自動建立

workdir demo #再進入demo資料夾

# run pwd #列印結果應該是 /test/demo

# add與copy

- 優先使用copy命令

-add除了copy功能還有解壓功能

add hello / #把本地檔案新增到映象中,吧本地的hello可執行檔案拷貝到映象的/目錄

add test.tar.gz / #新增到根目錄並解壓

workdir /root

add hello test/ #進入/root/ 新增hello可執行命令到test目錄下,也就是/root/test/hello 乙個絕對路徑

copy hello test/ #等同於上述add效果,只是複製,沒有解壓

# 變數賦值

env 變數名 變數值

修改變數值,即可改變所有引用變數值的操作

env mysql_version 5.6 #設定乙個mysql版本值為5.6

run yum install -y mysql-server=「$」 # 安裝5.6的mysql

dockerfile檔案的內容

from python:3.7

label maintainer="chao yu"

run pip install flask

expose 8080

docker build -t zrq/flask-hello-docker .

# 檢視自定義的docker映象

docker images ls

Docker基礎命令

下面簡單介紹一下docker常用的一些基礎命令 在ubuntu中安裝docker sudo apt get install docker.io 檢視docker的版本資訊 docker version 檢視安裝docker的資訊 docker info 檢視本機docker中存在哪些映象 docke...

Docker基礎命令

命令的詳細說明與演示,可以參考 systemctl start docker 啟動docker服務 service docker start systemctl stop docker 關閉docker服務 service docker stop systemctl restart docker 重...

docker基礎命令

docker安裝已完成的情況下,使用下面的命令檢視docker的配置 展示docker中已安裝的映象 刪除映象 docker rmi repository tag docker rmi image id 如上圖,刪除mysql映象,可以使用 docker rmi mysql latest 或者 do...