1. 程式人生 > >ubuntu docker簡單入門與應用

ubuntu docker簡單入門與應用

本文使用ubuntu為底層環境,其他發行版除了安裝方式不一樣,別的基本都一樣。

安裝docker

因為ubuntu官方源的docker版本不是最新,所以這裡更新一下docker官方源,以獲取最新版

#先更新一下,保證https和ca能成功安裝
sudo apt-get update
apt-get install apt-transport-https ca-certificates


#ubuntu官方源的docker版本過低,加入docker源
sudo sh -c "echo deb https://get.docker.io/ubuntu docker main\ > /etc/apt/sources.list"


#新增GPG金鑰
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9

#再更新一下
sudo apt-get update

#儘量安裝最新版本安裝
#通過sudo apt seach docker檢視最新版本
sudo apt-get install lxc-docker-1.9.0

————————————————————————————————————————————————————————————————————————————————————————

#以上為網路好的情況下,如果網路不好就老老實實的安裝ubuntu的官方源
sudo apt-get install docker.io

#上面的docker官方源被GFW遮蔽的厲害,網好的您隨意

映象與容器

#安裝完後可以先從docker hub 官方倉庫拉取一個映象

sudo docker run -it ubuntu bash
#此操作為開啟互動式shell,會自動檢測本地有無ubuntu映象,如果沒有自動下載

#下載完成後進入互動式shell,在互動shell中進行你需要的操作,例如:
apt-get install nginx
#需要退出,可以輸入exit退出
exit

我們要分清映象與容器的含義
你可以認為映象是一個固定的環境,只要製作好就能隨意放入別的系統使用。
而容器是是一個實時儲存的狀態,每做一步操作都會有所改動,進而生成一個新的容器,如果想要儲存某一個狀態的容器,就使用下面的操作

新建映象

#先檢視每一步操作產生的容器:
sudo docker ps -a

#然後每個container id 就是代表一個容器,想要儲存哪個容器就使用如下命令:
sudo docker commit [container id] nginx:v1
#nginx:v1  代表儲存的映象名為nginx,版本號為v1

#注意:我們在使用container id時可以採用前3-4位來表示,不需要全部輸入


生成容器

#檢視映象

sudo docker images

#如果不想在互動式shell中執行命令,可以使用run
sudo docker run [映象名/container id] [要執行的命令]
sudo docker run ubuntu:14.04 apt-get install -y nginx

#記得如果要安裝服務的話,一定要加-y,不然會無法下一步

#因為每一步操作都會生成一個不同的容器,我們檢視起來將會非常麻煩,所以可以刪除無用的容器

sudo docker ps -a

sudo docker rm [container id]

刪除映象與容器

#如果想要刪除一個映象

sudo docker image

sudo docker rmi [映象名字/id]

#注意:刪除映象前請確保沒有基於該映象執行的容器,如果有,請先關閉在刪除

匯入匯出映象

#如果想要將映象轉換為本地檔案

sudo docker save -o /tmp/nginx.tar nginx:v1
#或者
sudo docker save nginx:v1 > /tmp/nginx.tar

#將映象檔案匯入到別的機器
sudo docker load < /tmp/nginx.tar

使用映象

#執行的方法,和埠對映

sudo docker run -ti -p 80:80 nginx:web bash

#為啦方便我們一般會使用Dockerfile來進行容器的部署,這裡筆者不再做介紹,感興趣的可以線上搜尋Dockerfile語法

#如果想要對正在執行的容器做操作,並且不生成新的容器,可以使用如下命令:

sudo docker exec -it[container id] bash

#此操作會開啟一個bash,對此容器即時生效,也可以安裝一個openssh,然後對映容器22埠到宿主機任意埠即可訪問。

——————————————————————————————————————————————————————————

Dockerfile

#自用練習Dockerfile展示
FROM ubuntu:latest
MAINTAINER Docker [email protected]

RUN apt-get install -y apt-utils
RUN apt-get install -y curl
RUN apt-get install -y ping
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server

#ubuntu安裝mysql預設需要在中途輸入密碼,這裡我們跳過這一步驟
COPY index.html /var/www/html/

COPY start.sh /start.sh
RUN chmod 755 /start.sh

CMD /start.sh && tail -f
EXPOSE 80 3306

#start.sh內容如下

#!/bin/bash

service nginx start
service mysql start


#使用方法
#通過Dockerfile建立映象
sudo docker build -t westwell/nginxweb:1.0 .

#使用該映象執行容器
sudo docker run -id -p 80:80 -p 3306:3306 westwell/nginxweb:1.0

#-p將容器埠對映到真機,格式:  -p 宿主機埠:容器埠

相關推薦

ubuntu docker簡單入門應用

本文使用ubuntu為底層環境,其他發行版除了安裝方式不一樣,別的基本都一樣。 安裝docker 因為ubuntu官方源的docker版本不是最新,所以這裡更新一下docker官方源,以獲取最新版

Docker入門應用系列(六)Docker私有公共鏡像倉庫

nbsp one 默認 span epo refers 1.8 png list 1.搭建私有鏡像倉庫Docker Hub作為Docker默認官方公共鏡像;如果想搭建自己的私有鏡像倉庫,官方提供registry鏡像,使搭建私有倉庫非常簡單1.1.1下載registry鏡像並

Docker入門應用系列(八)Docker圖形界面管理之Shipyard

tps 數據庫 sock blog ocs body mage 代理 cell Shipyard基於Docker API實現的容器圖形管理系統,支持container、images、engine、cluster等功能,可滿足我們基本的容器部署需求可堆棧的Docker管理基於

Docker入門應用系列(七)Docker圖形界面管理之DockerUI

post 簡單的 技術分享 name mage src 入門 .com 系統 1.dockeruiDockerrUI是一個基於Docker API提供圖形化頁面簡單的容器管理系統,支持容器管理、鏡像管理。1.1 下載鏡像 docker pull abh1nav/doc

Docker入門應用系列(三)容器管理

輸出 clear tag 程序 ipaddr one 停止 1.2 標準 一、啟動容器   啟動容器有兩種方式,一種是基於鏡像新建一個容器並啟動,另一個是將終止狀態的容器重新啟動。 1.1 新建並啟動 主要命令為 docker run 下面的命令輸出一個&rd

Docker入門應用系列(四)網絡管理

效率 進行 oop 網絡隔離 style docker utc 同時 存在 一、Docker的五種網絡模式   在使用docker run創建docker容器時,可以用--net選項指定容器的網絡模式,Docker有以下5種網絡模式:   1. bridge模式

01:Docker入門應用實戰

學完這門課程會獲得什麼? 掌握Docker核心概念 熟悉Docker工作原理 獨立使用Docker部署應用程式 接入CI/CD,實現環境標準化 入門須知: 熟悉Linux作業系統 瞭解域名解析原理 瞭解網路 第 1 章: Docker概述 Docker是

iptables簡單命令應用

iptables 簡單命令 應用 配置文件目錄bash> vim /etc/sysconfig/iptablesWEB服務器,開啟80端口.bash> iptables -A INPUT -p tcp --dport 80 -j ACCEPT郵件服務器,開啟一組端口.bash>

Zookeeper Api(java)入門應用(轉)

由於 sla 入隊 catch 其中 相同 獲得 保存 amp 如何使用 Zookeeper 作為一個分布式的服務框架,主要用來解決分布式集群中應用系統的一致性問題,它能提供基於類似於文件系統的目錄節點樹方式的數據存儲,但是 Zookeeper 並不是用來專門存儲數據的,它

C++ RCSP智能指針簡單實現應用

自定義類 例子 定義 memcpy 智能指針 cto ted 分配 思路 智能指針的實現代碼來源博客:《http://blog.csdn.net/to_be_better/article/details/53570910》 修改:添加 get()函數,用以獲得原始指針(ra

VMware Workstation簡單入門CentOS 7的安裝

Linux study一.VMware Workstation的簡單介紹:   VMware Workstation是VMware公司銷售的商業軟件產品之一。這個產品包含一個用於Intelx86兼容電腦的擬機套件,它允許用戶可以簡單的同時創建和運行多個x86的虛擬機,每個虛擬機都可以在相對

離線服務器下docker的部署應用

download 初學 image PE world 簡單 得到 windows 並不是 一分鐘內形成docker的模糊概念 網上很多文章避免將docker與虛擬機混為一談,但對於初學者來說,完全可以將docker當做一種虛擬機技術,只需要牢牢記住一點最重要的區別:dock

springboot2.0x全系列一springboot2.0x整合ActiveMQ(簡單整合應用

ActiveMQ ActiveMQ 是Apache出品,最流行的,能力強勁的開源訊息匯流排。ActiveMQ 是一個完全支援JMS1.1和J2EE 1.4規範的 JMS Provider實現,儘管JMS規範出臺已經是很久的事情了,但是JMS在當今的J2EE應用中間仍然扮演著特殊的地位。 特性 多種語

Redis 入門應用

目錄 一、Redis 安裝 1、下載 redis  2、安裝 redis  3、設定 redis 4、redis 服務常用的命令 5、測試 redis 二、RedisDesktopManager 的安裝與使用 1、下載與安裝 2、連線 redi

Kafka簡單入門Spring結合實踐

Kafka簡單入門與Spring結合實踐 一、【安裝部署kafka伺服器環境(centos7.0)】:  1.【注意】新版的kafka已經內建了一個zookeeper環境 2.【安裝與執行】: 可以在kafka官網 http://kafka.ap

Docker 簡單入門

一個 安裝 節奏 簡單介紹 pre 我們 dock 創建 制作 現在主流的容器技術Docker,覺得不學下都跟不上節奏了,這裏簡單介紹docker的安裝以及使用,有問題歡迎指出哈。 這裏主要講以下幾點: Docker 安裝 Docker 鏡像創建 Docker 容器初探

Redis的入門應用

con predis 判斷 strong make 集合 ash -h 安裝redis擴展 概念:   遠程   基於內存的   非關系型數據庫 應用場景   緩存   隊列   數據存儲 安裝   安裝環境:     服務器:linux>cen

Ajax入門應用

一、Ajax介紹 1. ajax是什麼? * asynchronous javascript and xml:非同步的js和xml * 它能使用js訪問伺服器,而且是非同步訪問! * 伺服器給客戶端的響應一般是整個頁面,一個html完整頁面!但在ajax中因

Docker技術入門實戰 第8章 使用Dockerfile建立映象

Dockerfile是一個文字格式的配置檔案,使用者可以使用Dockerfile來快速建立自定義映象。本章首先介紹Dockerfile典型的基本結構和它支援的眾多指令,並具體講解通過這些指令來編寫定製映象的Dockerfile,以及如何生成映象。最後介紹使用Dockerfil

離線伺服器下docker的部署應用

一分鐘內形成docker的模糊概念 網上很多文章避免將docker與虛擬機器混為一談,但對於初學者來說,完全可以將docker當做一種虛擬機器技術,只需要牢牢記住一點最重要的區別:docker依賴於物理機的核心,所以在linux下“生成的docker”,一般不