本系列文章主旨在于使用docker來(lái)搭建實(shí)際可用的基礎(chǔ)服務(wù),具體到每一步的操作和設(shè)置。
關(guān)于docker的原理、前世今生的內(nèi)容,已經(jīng)有太多的文章了,此處就不再贅述。
要使用docker,當(dāng)然第一步就是把它裝到機(jī)器上,今天第一篇就講docker自身的安裝。
本文使用的服務(wù)器配置如下:
CPU: 8核
內(nèi)存: 16G
硬盤(pán): 50G+400G雙硬盤(pán)
系統(tǒng): Ubuntu 18.04.1 LTS
安裝步驟如下:
1. 更新Ubuntu所有組件到最新
sudo apt-get update
sudo apt-get upgrade
2. 安裝必備軟件
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
3. 添加密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
sudo apt-key fingerprint 0EBFCD88
4. 添加docker源倉(cāng)庫(kù)
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
5. 更新倉(cāng)庫(kù)列表
sudo apt-get update
6. 安裝最新版本 docker
sudo apt-get install docker-ce
安裝過(guò)程顯示如下,如果網(wǎng)絡(luò)順暢的話(huà),應(yīng)該能夠很順利的安裝完成
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
aufs-tools cgroupfs-mount libltdl7 pigz
The following NEW packages will be installed:
aufs-tools cgroupfs-mount docker-ce libltdl7 pigz
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 40.2 MB/40.4 MB of archives.
After this operation, 199 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 https://download.docker.com/linux/ubuntu bionic/stable amd64 docker-ce amd64 18.06.1~ce~3-0~ubuntu [40.2 MB]
Fetched 3,431 kB in 1min 57s (29.3 kB/s)
Selecting previously unselected package pigz.
(Reading database … 88421 files and directories currently installed.)
Preparing to unpack …/archives/pigz_2.4-1_amd64.deb …
Unpacking pigz (2.4-1) …
Selecting previously unselected package aufs-tools.
Preparing to unpack …/aufs-tools_1%3a4.9+20170918-1ubuntu1_amd64.deb …
Unpacking aufs-tools (1:4.9+20170918-1ubuntu1) …
Selecting previously unselected package cgroupfs-mount.
Preparing to unpack …/cgroupfs-mount_1.4_all.deb …
Unpacking cgroupfs-mount (1.4) …
Selecting previously unselected package libltdl7:amd64.
Preparing to unpack …/libltdl7_2.4.6-2_amd64.deb …
Unpacking libltdl7:amd64 (2.4.6-2) …
Selecting previously unselected package docker-ce.
Preparing to unpack …/docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb …
Unpacking docker-ce (18.06.1~ce~3-0~ubuntu) …
Setting up aufs-tools (1:4.9+20170918-1ubuntu1) …
Processing triggers for ureadahead (0.100.0-20) …
Setting up cgroupfs-mount (1.4) …
Processing triggers for libc-bin (2.27-3ubuntu1) …
Processing triggers for systemd (237-3ubuntu10.3) …
Setting up libltdl7:amd64 (2.4.6-2) …
Processing triggers for man-db (2.8.3-2) …
Setting up pigz (2.4-1) …
Setting up docker-ce (18.06.1~ce~3-0~ubuntu) …
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.
Processing triggers for ureadahead (0.100.0-20) …
Processing triggers for libc-bin (2.27-3ubuntu1) …
Processing triggers for systemd (237-3ubuntu10.3) …
至此,docker安裝完成,下面對(duì)docker做一些基本配置
7. 設(shè)置docker拉取鏡像使用的代理(本步驟可選,根據(jù)實(shí)際需要設(shè)置)
# 創(chuàng)建配置目錄
mkdir -p /etc/systemd/system/docker.service.d
# 編輯配置文件
vi /etc/systemd/system/docker.service.d/http-proxy.conf
插入如下內(nèi)容
[Service]
Environment=”HTTP_PROXY=http://192.168.0.158:3128/”
保存退出,重啟docker
systemctl daemon-reload
systemctl restart docker
查看配置結(jié)果
systemctl show –property=Environment docker
8. 來(lái)一個(gè)hello world
sudo docker pull hello-world
sudo docker run hello-world
如果配置正常的話(huà)將顯示如下結(jié)果
Using default tag: latest
latest: Pulling from library/hello-world
d1725b59e92d: Pull complete
Digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the “hello-world” image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/