# 刪除存在的
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...