天天看點

Docker的離線安裝,線上安裝,基本使用(鏡像,容器,Dockfile)

docker基本原理

https://www.jianshu.com/p/99cd35757c1a

docker線上安裝

sudo yum install docker-ce

檢視版本

docker -v

docker 離線安裝

linux離線安裝docker (18.03.1-ce)

連結:https://pan.baidu.com/s/1bhvqAnubUQs79FqS3QEuLA

密碼:6ni5

啟動

  • systemctl docker start
  • systemctl docker restart
  • systemctl docker stop

鏡像

搜尋鏡像:

docker search [鏡像名]

如:docker search centos

拉取鏡像

docker pull [鏡像名]

上傳自己鏡像至https://hub.docker.com/

1、将本地先在 https://hub.docker.com/ 網站注冊使用者,比如 lishengping;

2、将本地鏡像命名至格式:lishengping/鏡像名 比如lishengping/my_images

3、登陸:sudo docker login 根據提示輸入使用者名和密碼(使用者名和密碼為剛剛注冊的)

4、sudo docker push lishengping/my_images.

PS: 一定要在鏡像的名稱前加上自己使用者名作為字首,不然會報 “denied: requested access to the resource is denied” 錯誤

例子:從hub.docker.com拉取自己的docker鏡像

docker pull lishengping/stress:v1

檢視鏡像

docker images

删除鏡像

docker rmi [鏡像名|鏡像id]

鏡像儲存至本地

docker save [鏡像名|鏡像id] > 【儲存的路徑】

docker save -o 【儲存的路徑】 [鏡像名|鏡像id]

docker export -o 【鏡像名.tar】 [鏡像名|鏡像id]

從本地加載鏡像

docker load --input 【鏡像名.tar】

docker load < 【鏡像名.tar】

docker load -i 【鏡像名.tar】

docker import 【鏡像名.tar】 [鏡像名|鏡像id]:tag

建立鏡像

基于容器建立鏡像

docker commit -m ‘建立資訊’ 容器名|容器id 鏡像名稱:鏡像标簽

基于Dockerfile建立鏡像

Dockerfile:

# Author: Lisen
# MANTINTAINER Lisen
# Base images
FROM centos
# ADD 會自動解壓 tar 等壓縮檔案
ADD docker_test.tar /
# COPY 正常的複制,不解壓
COPY docker_test.tar /
# RUN
RUN yum makecache
RUN yum install -y wget
RUN yum install -y vim && yum clean all
# WORKDIR 指定指令運作的路徑
WORKDIR /docker_test
#CMD ["python", "--version"]
NTRYPOINT ["echo", "Hello"]
           

配置鏡像 pull 加速器

daocloud加速

先在 www.daoclooud.io 注冊,然後首頁點選加速器,可以從頁面擷取Linux和macos加速方法

linux:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

執行: cat /etc/docker/daemon.json 會發現在檔案中出現了http://f1361db2.m.daocloud.io

macos:

點選docker圖示 -> prefeneces -> Daemon -> Registry-mirrors -> 添加 http://f1361db2.m.daocloud.io

阿裡雲加速

{

“registry-mirrors”: [“https://72idtxd8.mirror.aliyuncs.com”]

}

配置檔案

centos

參數配置:/etc/default/dockers

服務配置: /lib/systemd/system/docker.service centos

ubuntu

配置參數:/etc/sysconfig/docker

服務配置:vim /lib/systemd/system/docker.service

檢視鏡像的建立過程:docker history

容器

建立容器:

docker run -it -d --rm --name regulation_0801 -v /Users/Lisen/Documents/docker_volumns:/volumns -p 18010:8000 -p 18011:8001 fujian_regulation_0712 /bin/bash -c “while true;do echo hello world;sleep 1;done”

-v:卷映射

–volume:卷映射

-p:指定端口映射

-P:端口随機映射

–name:容器名稱

-i: 以互動模式運作容器,通常與 -t 同時使用

-t:為容器重新配置設定一個僞輸入終端,通常與 -i 同時使用

-d:背景運作

–rm:容器退出自動删除容器

其他參數:

/bin/bash : 啟動容器時運作的指令

–cpuset==0 : 指定0号cpu

–cpu 1 : 指定cpu可使用的數量

-m : 指定容器最大可使用記憶體

-h: 容器的主機名

檢視容器的運作情況

docker stats:

檢視容器

1、檢視所有容器,包括停止的容器

docker ps

2、檢視運作中的容器

docker ps -a

3、檢視最後建立的一個容器

docker ps -a

檢視容器端口

docker port [容器名|容器id]

開始容器

1、開啟容器但不進入容器

docker start [容器名|容器id]

2、開啟容器同時進入容器

docker start -i [容器名|容器id]

進入容器

1、進入容器,但是和别人共享一個界面

docker attach [容器名|容器id]

2、進入容器,獨享一個界面

docker exec -it [容器名|容器id] /bin/bash

停止容器:

1、退出容器不停止

ctrl+P ctrl+Q

2、停止容器

docker stop [容器名|容器id]

3、快速結束容器

docker kill [容器名|容器id]

日志功能

docker logs [容器名|容器id]

參數:

-f :表示 log 列印輸出

-t :表示把輸出時間也列印

–tail all 表示輸出所有行

–tail 10 表示輸出最後 10 行 my_docker 表示容器名或者 id