一:docker 安裝
ubuntu14.04:
1.Docker CE現在overlay2預設使用存儲驅動程式,建議您使用它來代替aufs。如果您需要使用aufs,您将需要做額外的準備。
除非你有一個強有力的理由,否則,安裝linux-image-extra-*允許Docker使用aufs存儲驅動程式的 軟體包。
sudo apt-get install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual
2.使用存儲庫進行安裝
更新apt軟體包索引:
sudo apt-get update
安裝軟體包以允許apt通過HTTPS使用存儲庫:
apt-transport-https \
ca-certificates \
curl \
software-properties-common
添加Docker的官方GPG密鑰:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通過搜尋指紋的最後8個字元,确認您現在擁有指紋的密鑰 。
sudo apt-key fingerprint 0EBFCD88
使用以下指令來設定穩定的存儲庫。即使您想從邊緣或測試存儲庫安裝建構,也總是需要穩定的存儲 庫。要添加邊緣或 測試存儲庫,請在下面的指令中添加單詞或(或兩者)後面的單詞。edgeteststable
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
在生産系統上,您應該安裝特定版本的Docker CE,而不是始終使用最新版本。此輸出被截斷。列出可用的版本。
apt-cache madison docker-ce
docker-ce | 17.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages 清單的内容取決于啟用了哪個存儲庫。選擇一個特定的版本進行安裝。第二列是版本字元串。第三列是存儲庫名稱,它指出了軟體包來自哪個存儲庫,并通過擴充其穩定性級别。要安裝特定版本,請将版本字元串附加到包名稱,并用等号(=)将它們分開:
sudo apt-get install docker-ce=<VERSION>
二:以非root使用者身份管理Docker
該docker守護程式綁定到一個Unix套接字而不是TCP端口。預設情況下,Unix套接字由使用者擁有root,其他使用者隻能使用它來通路它sudo。該docker守護程序始終運作的root使用者。
如果您不想sudo在使用該docker指令時使用該指令,請建立一個名為“Unix”的組,docker并向其中添加使用者。當docker守護程序啟動時,它使Unix套接字的所有權可以被docker組讀/寫。
警告:該docker組授予與root 使用者等效的權限。
要建立docker組并添加您的使用者:
建立docker組。
$ sudo groupadd docker
将您的使用者添加到docker組中。
$ sudo usermod -aG docker $USER
登出并重新登入,以便重新評估您的組成員資格。
如果在虛拟機上進行測試,可能需要重新啟動虛拟機才能使更改生效。
在桌面Linux環境(如X Windows)上,完全退出會話,然後重新登入。
三:docker鏡像目錄遷移
預設 Docker 的鏡像檔案是安裝在/var/lib 目錄下的
1.在 Ubuntu/Debian 系統下:
編輯 /etc/default/docker 檔案, 添加-g 參數的設定, 如下:
DOCKER_OPTS="-g /home/ubuntu/data/docker/docker_data"
2。停止docker
service docker stop
mv /var/lib/docker/* /home/ubuntu/data/docker/docker_data
3.重新開機docker:service docker start
測試:sudo docker run hello-world
docker 端口映射錯誤解決方法
COMMAND_FAILED: '/sbin/iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 8111 -j DNAT --to-destination 172.17.0.6:8111 ! -i docker0' failed: iptables: No chain/target/match by that name.
apt-get install bridge-utils
pkill docker
sudo iptables -t nat -F && sudo ifconfig docker0 down && sudo brctl delbr docker0
重新開機docker後解決
參考文章
http://www.linuxidc.com/Linux/2015-02/113141.htm
http://www.linuxidc.com/Linux/2015-02/113783.htm :Ubuntu下Docker固定IP配置及橋接
https://github.com/vmware/harbor/blob/master/docs/configure_https.md:使用HTTPS通路配置Harbour
用戶端登入認證失敗:
1.報錯:Error response from daemon: Get https://harbor.izhangxin.com/v1/users/: x509: certificate signed by unknown authority
在具有Docker守護程序的機器上,確定選項“-insecure-registry”不存在,并且您必須将上述步驟中生成的ca.crt複制到/etc/docker/certs.d/reg.yourdomain.com(或您的系統資料庫主機IP),如果該目錄不存在,請建立它。如果您将nginx端口443映射到另一個端口,則應該建立目錄/etc/docker/certs.d/reg.yourdomain.com:port(或您的系統資料庫主機IP:端口)。然後運作任何docker指令來驗證設定,例如
x509: certificate signed by unknown authority
如果遇到這個問題,就是ca.crt 沒有導入到本機信任清單中,運作下面指令解決
cp ca.crt /usr/local/share/ca-certificates/
update-ca-certificates
2:ubuntu@VM-0-5-ubuntu:~$ docker login harbor.izhangxin.com
Username: admin
Password:
Error response from daemon: Get https://harbor.izhangxin.com/v2/: x509: certificate is not valid for any names, but wanted to match harbor.izhangxin.com
解決辦法;用戶端修改docker的啟動配置
sudo vi /etc/default/docker
添加配置
DOCKER_OPTS="$DOCKER_OPTS -g /home/ubuntu/data/docker/docker_data" ##更改docker鏡像目錄
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=harbor.izhangxin.com" #跳過https認證
運作容器指令:
docker run
--name tomcat_static 定義容器名稱
-d 背景運作容器,并傳回容器ID
-p 8888:8888 -p 8889:8889 将容器的8888 和88889 端口分别映射到主機的8888 和88889 端口
-v /home/ubuntu/data/docker/tomcat_static/catalina.sh:/tomcat/apache-tomcat-8.5.23/bin/catalina.sh
-v /home/ubuntu/data/docker/tomcat_static/server.xml:/tomcat/apache-tomcat-8.5.23/conf/server.xml
-v /home/ubuntu/data/docker/tomcat_static/statics.hiigame.com.war:/tomcat/statics.hiigame.com.war
-v /home/ubuntu/data/docker/tomcat_static/logs:/tomcat/apache-tomcat-8.5.23/logs 主機的目錄或檔案映射到容器的目錄或檔案,容器檔案存在則會被覆寫
harbor.izhangxin.com/mirror/tomcat:0.1.1 使用鏡像
docker star/stop/restart [CONTAINER ID / NAME]
安裝腳本并改變docker預設路徑
#/bin/bash
apt-get update
apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual -y
apt-get install apt-transport-https ca-certificates curl software-properties-common -y
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
apt-get install docker-ce=18.03.0~ce-0~ubuntu --force-yes
groupadd docker
usermod -aG docker ubuntu
if [ ! -d /home/ubuntu/data/docker/docker_data ];then
mkdir -p /home/ubuntu/data/docker/docker_data
fi
echo 'DOCKER_OPTS="$DOCKER_OPTS -g /home/ubuntu/data/docker/docker_data"' >> /etc/default/docker