docker 安裝

一: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使用存儲庫:
sudo apt-get install \
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
使用如下命令來設置穩定的存儲庫。即便您想從邊緣或測試存儲庫安裝構建,也老是須要穩定的存儲 庫。要添加邊緣或 測試存儲庫,請在下面的命令中添加單詞或(或二者)後面的單詞。edgeteststablelinux

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"nginx

在生產系統上,您應該安裝特定版本的Docker CE,而不是始終使用最新版本。此輸出被截斷。列出可用的版本。
sudo apt-get update
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>git

二:以非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)上,徹底退出會話,而後從新登陸。github

三:docker鏡像目錄遷移
默認 Docker 的鏡像文件是安裝在/var/lib 目錄下的docker

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-worldapache

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 docker0ubuntu

重啓docker後解決tomcat

參考文章
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訪問配置Harbourbash

客戶端登陸認證失敗:dom

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
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
apt-get update
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

service docker stop
mv /var/lib/docker/* /home/ubuntu/data/docker/docker_data

echo 'DOCKER_OPTS="$DOCKER_OPTS -g /home/ubuntu/data/docker/docker_data"' >> /etc/default/docker

相關文章
相關標籤/搜索