Docker使用基礎(chǔ)

1. 安裝

Centos6.x
Docker 軟件包已經(jīng)包括在默認(rèn)的 CentOS-Extras 軟件源里。因此想要安裝 docker,只需要運(yùn)行下面的 yum 命令:

[root@localhost ~]# yum install docker

Centos7.x
官方源里的docker無法啟動(dòng),下面是官方的安裝方法

# tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
yum install docker-engine

啟動(dòng)服務(wù):

[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker

2 . docker配置

/etc/sysconfig/docker

增加啟動(dòng)參數(shù)

6.x other_args
7.x OPTIONS

修改工作目錄:

other_args="--graph=/data/docker "

3. 運(yùn)行容器

啟動(dòng)容器(已gitlab為例)


docker run --detach \
    --hostname gitlab.xxx.com \
    --publish 443:443 --publish 8080:80 --publish 22:22 \
    --name gitlab \
    --restart always \
    --volume /data/gitlab/config:/etc/gitlab \
    --volume /data/gitlab/logs:/var/log/gitlab \
    --volume /data/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest 

其它啟動(dòng)參數(shù):

--add-host="www.baidu.com:1.1.1.1"      #給容器指定host
--dns="114.114.114.114"                 #指定容器dns

進(jìn)入容器運(yùn)行環(huán)境

docker exec -it 703cecb60169 /bin/bash 

4. 鏡像操作

4.1 修改已有鏡像
  • 啟動(dòng)容器
  • 在容器中做出需要的更改
  • 提交容器的更改
  • 使用新的鏡像啟動(dòng)容器

提交容器的更改:

$ sudo docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2
4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c
4.2 通過Dockerfile創(chuàng)建鏡像
  • 創(chuàng)建一個(gè)目錄
  • 創(chuàng)建Dockerfile文件
  • 構(gòu)建鏡像

Dockerfile語(yǔ)法:

# This is a comment
FROM ubuntu:14.04
MAINTAINER Docker Newbee <newbee@docker.com>
RUN apt-get -qq update
RUN apt-get -qqy install ruby ruby-dev
RUN gem install sinatra

指令:

  1. FROM,指定基礎(chǔ)鏡像名稱,Docker可以在某個(gè)鏡像的基礎(chǔ)上添加功能
  2. MAINTAINER,指定作者信息
  3. RUN "RUN <command>",運(yùn)行命令
  4. CMD "CMD ["command", "param1"]",指定容器啟動(dòng)后運(yùn)行的命令,每個(gè)容器只能一條CMD指令,如果有多個(gè),以最后一個(gè)為準(zhǔn)
  5. EXPOSE "EXPOSE <port> [<port>...]",指定Docker容器暴露的端口
  6. ENV "ENV <key> <value>",指定一個(gè)環(huán)境變量
  7. ADD "ADD <src> <dest>",復(fù)制資源至容器,也可以是URL,如果是tar文件會(huì)自動(dòng)解壓(注意要使用相對(duì)路徑)
  8. COPY "COPY <src> <dest>",也是復(fù)制文件(相對(duì)路徑)
  9. USER "USER USERNAME(UID)",指定容器運(yùn)行時(shí)的用戶
  10. WORKDIR "WORKDIR /path/to/workdir",為后續(xù)指令配置工作目錄

build鏡像:

$ sudo docker build -t="ouruser/sinatra:v2" .
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡(jiǎn)介 Docke...
    極客圈閱讀 10,771評(píng)論 0 120
  • 目錄 前言 Dockerfile的書寫規(guī)則及指令使用方法 創(chuàng)建Dockerfile,構(gòu)建運(yùn)行環(huán)境 構(gòu)建鏡像 Doc...
    garyond閱讀 73,179評(píng)論 0 43
  • 0x01 核心概念 Docker鏡像類似于虛擬機(jī)鏡像,可以理解為一個(gè)面向Docker引擎的只讀模板,包含了文件系統(tǒng)...
    閑云逸心閱讀 4,980評(píng)論 0 9
  • 0. 前言 docker是什么?docker是用GO語(yǔ)言開發(fā)的應(yīng)用容器引擎,基于容器化,沙箱機(jī)制的應(yīng)用部署技術(shù)???..
    sessionboy閱讀 4,031評(píng)論 2 49
  • 金溪有個(gè)叫喻步高的長(zhǎng)者,兒時(shí)父母雙亡,以給人放牧為生。某日在野外放牛時(shí)一不小心摔下深淵,四下無人,無處求救。忽然聽...
    Mighty_Yue閱讀 580評(píng)論 0 1

友情鏈接更多精彩內(nèi)容