Docker第一課

Docker第一課

——————————————————————運維實習生
一、Docker介紹
Docker的接口相當簡單,用戶可以方便地創建和使用容器,把自己的應用放入容器。容器還可以進行版本管理、複製、分享、修改,就像管理普通的代碼一樣。
二、Docker 與 vmvare 比較
在這裏插入圖片描述
在這裏插入圖片描述
三、入門
1.安裝

yum install docker -y(最簡單的方式)

2.基本docker命令

版本 docker version
搜索 docker search 關鍵字
啓動syatmctul start docker
開機自啓 systemctul enable docker

3.下載鏡像的方法
(1)docker pull 鏡像名
(2)docker load -i 本地下載好的鏡像路徑
3.1 修改docker源
有的網絡無法連接到docker官方站點或網速慢,可以改用阿里、網易等的docker源

  vim  /etc/docker/daemon.json
{
#推薦阿里鏡像
    "registry-mirrors": [
    "https://khec465u.mirror.aliyuncs.com"
  ]
}

4.查看已下載鏡像

docker images

5 .
運行鏡像

docker run -it 鏡像名字:TAG 命令

停止、開啓、重啓鏡像

docker   stop/start/restart 鏡像id

比如:

docker run -d 鏡像 bash -c "while true;do echo hello word;sleep 1;done"

6.退出鏡像

exit

7 .從容器中讀取log
語法:docker logs 容器id或者名字(docker ps 查看id_查看所有運行中的容器)
8.查看所有運行中的容器:

docker ps -a

9.殺鏡像

docker kill  鏡像id

10.無法打開鏡像
(1)手動開啓網絡轉發

 vim /etc/sysctl.conf
 net.ipv4.ip_forward=1
sysctl  -p  生效

11.刪除鏡像

docker rm id 

二、做自己的鏡像images
1.docker鏡像製作
方法1. 根據當前鏡像的狀態做一個image:創建一個安裝apache的centos鏡像

使用 docker commit
   docker run -it centos /bin/bash
   yum install httpd -y
   exit
   docker commit 鏡像id  自定義名字
   docker images

方法2.
通過 docker build 創建一個基於centos 的httpd web 鏡像
使用時需要使用dockerfile 文件自動製作image
docker有點像源碼編譯時 ./confidure 產生的Makefile

1.創建工作目錄
mkdir  /docker_build
cd /docker_build
touch Dockerfile   #make自動編譯時需要Makefile 文件,自動創建images時需要Dockerfile文件
2.編輯Dockerfile 文件
Dockerflie 用來創建一個自定義的image,包含了用戶指定的軟件依賴
vim Dockerfile
    FROM 鏡像名稱
    MAINTAINER 作者
    RUN  yum install httpd -y
    ADD start.sh /usr/local/bin/start.sh
    ADD index.html /var/www/html/index.html
     將文件 拷貝到  容器目錄文件
3.創建 start.sh 腳本啓動httpd 和apache默認首頁index.html文件
  cd /docker_build
  echo "/usr/sbin/httpd -DFOREGROUND" >start.sh
  相當於執行syatemctul start httpd
  chmod a+x start.sh  加權限
  創建首頁index.html
  echo "docker image build test" > index.html
4.build 創建image
  語法:docker build -t 父鏡像名:tag  Dockerfile  ./文件所在路徑
5.查看 docker images

三.發佈image
方法1.

導出到本地 docker save -o 名字.tar   鏡像名
從本地導入 docker load -i 路徑

方法2.
發佈到外網dockerhub(注意daemon.json)

1.docker註冊賬號
2.登錄docker docker login -u 用戶名 -p 密碼 -e郵箱
3.上傳docker push centos:httpd
4.下載docker pull 用戶名/鏡像名

方法3.阿里雲私有倉庫

四.docker 端口你映射
#把容器80映射到物理機

docker run -d -p 物理機80:容器80 鏡像名

查看端口 netstat -nltp |grep 80
現在相當於vm中的net模式

五.訪問正在運行的容器
看運行的容器

docker ps 
docker exec -it 容器ID /bin/bash

創建index.html 測試

echo "lin" >index.html

瀏覽器訪問無痕模式
ip/index.html

發佈了22 篇原創文章 · 獲贊 9 · 訪問量 3825
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章