docker .com -o get-docker.shsudo sh get-docker.sh --mirror Ali"/>

国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Docker常用命令與小技巧匯總

發(fā)布時(shí)間:2023-05-25 09:15 來(lái)源:西部 閱讀:164 作者:西部數碼 欄目: 虛擬主機 歡迎投稿:712375056

服務(wù)器

安裝腳本

Ubuntu / Centos

Debian的安裝貌似有問(wèn)題, 需要解決安裝源的問(wèn)題。

curl -fsSL http://wap.friendlycc.com.cn/host/ class="wp_keywordlink_affiliate">docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun / AzureChinaCloud

如果在海外的AWS或者GCP等云服務(wù)器廠(chǎng)商, –mirror 自然不需要加上去了。

Centos在運行完成之后, 還需要手動(dòng)的 sudo systemctl start docker.service 否則會(huì )提示docker沒(méi)有啟動(dòng)之類(lèi)的錯誤

日志相關(guān)

Grep String

正確的姿勢: docker logs nginx 2>&1 | grep 127.

比如查看Jupyter Notebook的token: docker logs notebook 2>&1 | grep token

其他支持的參數

-f : 類(lèi)似tail -f 命令

–since : 從某個(gè)時(shí)間戳開(kāi)始,比如 2013-01-02T13:23:37 也支持相對時(shí)間,比如: 42m

–until : 與上類(lèi)似, 不過(guò)是反過(guò)來(lái)。

-t, –timestamp : 顯示時(shí)間戳

–tail N(default all) : 顯示最后幾行數據

Mount的技巧
比如Grafana 等,在docker image之中自帶一些文件。如果直接mount對應的目錄并且host目錄為空, 那么docker內部的

目錄就會(huì )被覆蓋。如何處理這種情況呢?

簡(jiǎn)單粗暴的方法1:(思路only)

先運行一次, 然后使用 docker cp 命令將其復制出來(lái)

然后刪除剛才的docker container, 將文件復制到對應的目錄,再mount

更優(yōu)雅一些的方法2:

以啟動(dòng) ClickHouse 為例

# Step 1.1: 創(chuàng  )建一個(gè)docker volume (目的: 把CH Server的配置暴露出來(lái))
docker volume create --driver local \\
--opt type=none \\
--opt device=/home/centos/workspace/clickhouse/configs \\
--opt o=bind \\
ch-server-configs

# Step 1.2 : 創(chuàng  )建volume , mount 數據庫數據
docker volume create --driver local \\
--opt type=none \\
--opt device=/home/centos/workspace/clickhouse/data \\
--opt o=bind \\
ch-server-data

# Step 2 : 啟動(dòng) (注意: 當存儲數據較多的時(shí)候, 第二次啟動(dòng),會(huì )花比較長(cháng)的時(shí)間來(lái)初始化。 初始化結束之前嘗試鏈接會(huì )失敗。)
sudo docker run -d --name mkt-ch-server \\
-v ch-server-configs:/etc/clickhouse-server \\
-v ch-server-data:/var/lib/clickhouse \\
--restart always \\
-p 9000:9000 -p 8123:8123 \\
--ulimit nofile=262144:262144 yandex/clickhouse-server

這樣docker鏡像自帶的配置文件就不會(huì )在第一次mount的時(shí)候被清空

定時(shí)任務(wù)

比如mysql需要定期導出數據備份。這個(gè)操作最好是利用宿主機的crond來(lái)完成

0 1 * * * docker exec Mysqldump xxxx

常用Docker鏡像及其安裝命令

MYSQL

安裝

docker run --name some-mysql --restart always\\
-v /my/own/datadir:/var/lib/mysql\\
-e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

Dump 數據

方式1: 已經(jīng)在本地有mysql docker container

下面的命令是針對docker內部的mysql,也可以直接指定參數dump remote mysql

docker exec some-mysql sh -c \'exec mysqldump --all-databases -uroot -p$MYSQL_ROOT_PASSWORD\' > /path-to-data/all-databases.sql

方式2 : 在本地還沒(méi)有mysql docker container

# 用完就刪除,并在命令行提示輸入密碼
docker run -i --rm mysql:5.7 mysqldump --all-databases\\
-h 172.17.0.1 -uroot -p | gzip -9 > /home/centos/workspace/mysql-data/backup.sql.gz

編輯器原因, 上面 > 沒(méi)有正確顯示出來(lái)

Restore 數據

還是參考上面 Dump 的方式,只不過(guò)命令行工具改成了 mysql

Python Proxy

多多少少要搞一些爬蟲(chóng)吧。充分利用云服務(wù)器的IP用來(lái)做爬蟲(chóng)代理。目前發(fā)現最簡(jiǎn)單的爬蟲(chóng)代理搭建方法:

docker run --name py-proxy -d --restart always -p 8899:8899 abhinavsingh/proxy.py

注意:

截至目前位置, 這個(gè)docker鏡像的python腳本還比較老,不支持basic auth. 如果需要basic auth, 需要自行更新python文件,并重新docker build才可以。Github地址: http://wap.friendlycc.com.cn/host/ 在實(shí)際生產(chǎn)之中, 用多了貌似有自動(dòng)無(wú)法鏈接的情況。也可能是目標網(wǎng)站的問(wèn)題。
這個(gè)東東也可以作為瀏覽器SwitchSharp的代理哦, 不過(guò)推薦加上https basic auth. 具體操作請看官方文檔。

Jupyter Notebook

用了一圈, 感覺(jué)還是 tensorflow 鏡像自帶的Notebook比較簡(jiǎn)單。 因為在mount host 目錄的時(shí)候, 沒(méi)有奇奇怪怪的權限問(wèn)題。bash script 如下:

sudo docker run --name notebook -d --restart always \\
 -p 127.0.0.1:8888:8888 \\
 -v /path-to-workspace/notebooks:/tf \\
 tensorflow/tensorflow:latest-py3-jupyter

如果還需要鏈接Apache Spark等,參考如下Script

sudo docker run --name pyspark-notebook -d \\
 --net host --pid host -e TINI_SUBREAPER=true -p 8888:8888 \\
 -v /path-to-workspace/notebooks:/tf \\
 tensorflow/tensorflow:latest-py3-jupyter

Grafana

ID=$(id -u)
 
docker run \\
 -d --restart always \\
 -p 3000:3000 \\
 --name=grafana \\ 
 --user $ID -v /path-to-data/grafana-data:/var/lib/grafana \\
 -e GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource \\
 -e GF_SECURITY_ADMIN_PASSWORD=aaabbbccc \\
 grafana/grafana 

一些簡(jiǎn)單的解釋?zhuān)?/p>

–user $ID 必須要設置, 否則docker內部會(huì )出現permission issue
GF_INSTALL_PLUGINS : 安裝一些非自帶的插件
GF_SECURITY_ADMIN_PASSWORD : 賬號: admin / aaabbbccc

總結

以上就是這篇文章的全部?jì)热萘?,希望本文的內容對大家的學(xué)習或者工作具有一定的參考學(xué)習價(jià)值,謝謝大家對特網(wǎng)科技的支持。

更多關(guān)于云服務(wù)器,域名注冊,虛擬主機的問(wèn)題,請訪(fǎng)問(wèn)特網(wǎng)科技官網(wǎng):wap.friendlycc.com.cn

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

一本大道东京热无码一区| 亚洲综合网站色欲色欲| 亚洲成a∨人片在线观看无码| 无码乱人伦一区二区亚洲| 亚洲综合成人婷婷五月在线观看| 无码国产精品一区二区免费式芒果|