1. 程式人生 > >docker安裝及常規使用

docker安裝及常規使用

參考1: https://yq.aliyun.com/articles/110806?spm=a2c4e.11153959.blogcont29941.13.699e6d2fGhh685
參考2:http://www.runoob.com/docker/docker-tutorial.html

1、安裝

Docker CE 映象源站
使用官方安裝指令碼自動安裝

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

手動安裝幫助 Ubuntu 18.04

# step 1: 安裝必要的一些系統工具
sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common # step 2: 安裝GPG證書 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - # Step 3: 寫入軟體源資訊 sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(
lsb_release -cs)
stable"
# Step 4: 更新並安裝 Docker-CE sudo apt-get -y update sudo apt-get -y install docker-ce # 安裝指定版本的Docker-CE: # Step 1: 查詢Docker-CE的版本: # apt-cache madison docker-ce # docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages # docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安裝指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial) # sudo apt-get -y install docker-ce=[VERSION]

2、使用非root使用者

sudo groupadd docker
sudo gpasswd -a xu docker  # 此處“xu”為你電腦的使用者名稱

然後登出或者重啟

3、修改Docker預設映象和容器的儲存位置

http://www.cnblogs.com/bigberg/p/8057807.html
Docker預設的映象和容器儲存位置在/var/lib/docker中
1、修改docker.service檔案

cd /etc/systemd/system/multi-user.target.wants
 
vim docker.service
 
 
ExecStart=/usr/bin/dockerd --graph=/home/xu/docker --storage-driver=overlay --registry-mirror=https://jxus37ad.mirror.aliyuncs.com
  • –graph=/data/docker:docker新的儲存位置
  • –storage-driver=overlay : 當前docker所使用的儲存驅動

2、重啟docker

systemctl daemon-reload
systemctl restart docker

# docker info
在這裡插入圖片描述

4、啟動、重啟、關閉命令

功能 shell命令
啟動 systemctl start docker
守護程序重啟 sudo systemctl daemon-reload
重啟docker服務 systemctl restart docker
重啟docker服務 sudo service docker restart
關閉docker service docker stop
關閉docker systemctl stop docker

5、docker容器使用

容器 shell 命令
列出映象列表 docker images
檢視正在執行的容器 docker ps
檢視容器內部的標準輸出 docker logs [CONTAINER ID / NAMES]
檢視容器內部執行的程序 docker top [CONTAINER ID / NAMES]
停止應用容器 docker stop [CONTAINER ID / NAMES]
重啟應用容器 docker start [CONTAINER ID / NAMES]
刪除不需要的容器 docker rm [CONTAINER ID / NAMES]
設定網路埠 eg: docker run -d -p 5000:5000 training/webapp python app.py

注意:刪除容器時,容器必須是停止狀態

6、docker映象使用

映象 shell 命令
列出本地主機上的映象 docker images
獲取一個新的映象 docker pull [images_name]
查詢映象 docker search [images_name]
執行映象 docker run [images_name]

當我們從docker映象倉庫中下載的映象不能滿足我們的需求時,我們可以通過以下兩種方式對映象進行更改。
1.從已經建立的容器中更新映象,並且提交這個映象
2.使用 Dockerfile 指令來建立一個新的映象

1.更新映象,並且提交映象 shell命令
1.1 使用映象來建立一個容器 eg:   docker run -t -i ubuntu:15.10 /bin/bash
1.2 在執行的容器內進行更新 apt-get update
1.3 退出容器 exit
1.4 提交容器副本 eg:  docker commit -m=“has update” -a=“runoob” e218edb10161 runoob/ubuntu:v2
-m:提交的描述資訊   -a:指定映象作者
e218edb10161:容器ID
runoob/ubuntu:v2:指定要建立的目標映象名
1.5 使用新映象啟動容器 eg:   docker run -t -i runoob/ubuntu:v2 /bin/bash
2.建立映象 shell命令
建立一個 Dockerfile 檔案 cat Dockerfile
使用命令 docker build docker build -t runoob/centos:6.7 .
-t :指定要建立的目標映象名
. :Dockerfile 檔案所在目錄,可以指定Dockerfile 的絕對路徑
設定映象標籤 shell命令
為映象新增一個新的標籤 eg: docker tag 860c279d2fec runoob/centos:dev
docker tag 映象ID,這裡是 860c279d2fec ,使用者名稱稱、映象源名(repository name)和新的標籤名(tag)。
docker docker
docker docker
docker docker

7、docker容器連線

通過埠連線到一個docker容器網路埠對映

網路埠對映
建立一個python應用程式,可以指定容器繫結的網路地址。
-P :是容器內部埠隨機對映到主機的高階口
docker run -d -P training/webapp python app.py
-p : 是容器內部埠繫結到指定的主機埠
docker run -d -p 5000:5000 training/webapp python app.py
指定容器繫結的網路地址
docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py,這樣就可以通過訪問127.0.0.1:5001來訪問容器的5000埠。
預設都是繫結 tcp 埠,如果要繫結 UDP 埠,可以在埠後面加上 /udp
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py

Docker容器連線
埠對映並不是唯一把 docker 連線到另一個容器的方法。docker有一個連線系統允許將多個容器連線在一起,共享連線資訊。docker連線會建立一個父子關係,其中父容器可以看到子容器的資訊。

容器命名:
當我們建立一個容器的時候,docker會自動對它進行命名。另外,我們也可以使用–name標識來命名容器。
docker run -d -P --name runoob training/webapp python app.py