Ubuntu下docker安裝及簡單應用
最近工作了,好久沒用更新部落格了。。在工作中瞭解了docker這個工具。真是好用。折騰了一下,準備記錄一下。那麼docker是什麼?引用百度的話來解釋一下,Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。
docker讓開發的環境可以進行打包釋出,甚至包括系統,你可以釋出自己的映象給大家使用。而且應用部署快速,跨平臺,無論是linux還是Windows,還是mac os x 都支援。除了這些優點,還有很多…你可以慢慢去了解。。
一、 docker的安裝
1、切換到root許可權或者用sudo
2、升級source列表並保證https和ca證書成功安裝
apt-get update
apt-get install apt-transport-https ca-certificates
3、增加新的GPG 金鑰
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
4.新增或編輯source列表裡的docker.list檔案
如果不存在就新增該檔案
vim /etc/apt/sources.list.d/docker.list
5.按照系統版本增加entry
On Ubuntu Precise 12.04 (LTS)
deb https://apt.dockerproject.org/repo ubuntu-precise mainOn Ubuntu Trusty 14.04 (LTS)
deb https://apt.dockerproject.org/repo ubuntu-trusty mainUbuntu Wily 15.10
deb https://apt.dockerproject.org/repo ubuntu-wily mainUbuntu Xenial 16.04 (LTS)
deb https://apt.dockerproject.org/repo ubuntu-xenial main
然後再執行一下 apt-get update
6.更新操作後,刪除老的repo
如果系統中存在較老版本的Docker(lxc-docker),需要刪除,沒有就跳過。其實在安裝服務時,如果有也會提示,選擇“是”即可。
apt-get purge lxc-docker
7.檢視是否有正確的可用版本
apt-cache policy docker-engine
如圖:
8.從14.04版本以上開始docker推薦安裝linux-image-extra
apt-get install linux-image-extra-$(uname -r)
9.安裝docker
apt-get update
apt-get install docker-engine
service docker start //啟動docker服務
最後可以通過docker info 或者 docker version 檢視安裝的資訊
service docker stop //停止docker服務
service docker restart //重啟docker服務
二、 docker常用命令
1、檢查映象或者容器的引數,預設返回 JSON 格式
docker inspect [容器名orID]/[映象名orID]
2、獲取容器執行時的輸出日誌
docker logs [容器名orID]
-f 跟蹤容器日誌的最近更新;
-t 顯示容器日誌的時間戳;
–tail=”10” 僅列出最新10條容器日誌。
3、檢視容器目錄
docker ps //檢視正在執行的容器
docker ps -a //檢視所有的容器,包括已經停止的
4.檢視映象目錄
docker images
5、啟動、殺死、停止、刪除(刪除容器必須先停止,再執行刪除)容器
docker start [容器名orID]
docker kill [容器名orID]
docker stop [容器名orID]
docker rm [容器名orID]
6、刪除映象(需要先刪除容器,再刪映象)
docker rmi [映象名orID]
7、檢視一個映象的歷史
docker history [映象名orID]
8、啟動容器
啟動容器並啟動bash(互動方式):
docker run -i -t [映象名orID] /bin/bash
啟動容器以後臺方式執行(更通用的方式):
docker run -d -it [映象名orID]
9、附著到容器
附著到正在執行的容器:
docker attach [容器名orID]
進入正在執行的容器內部,同時執行bash(比attach更好用):
docker exec -t -i [容器名orID] /bin/bash
10、從dockerhub檢索image
docker search [映象名]
11、拉取、下載映象(這個速度很慢,後面會講解代理設定)
docker pull [映象名]
12、釋出映象
docker push <namespace>/<image name>
13、檢視docker基礎資訊
檢視docker版本:
docker version
檢視docker系統的資訊
docker info
14、構建docker映象
通過commit提交改變構建映象
docker commit [改變了的容器的ID] [REPOSITORY:TAG]
如:docker commit 6282cee20e5b anumbrella/ubuntu
當然還可以更詳細一點:
docker commit -m=”add ssh” –author=”anumbrella” 6282cee20e5b anumbrella/ubuntu:ssh通過Dockerfile來構建映象
docker build -t [REPOSITORY:TAG] -f [Dockerfile檔案] [Dockerfile目錄]
如: docker build -t anumbrella/ubuntu:ssh -f /docker/ubuntu/Dockerfile /docker/ubuntu
15、儲存、載入docker映象
儲存映象
docker save [OPTIONS] IMAGE [IMAGE...]
將docker的映象打包儲存下載下來。
如:
docker save -o myUbuntu.zip anumbrella/ubuntu:ssh
也可以使用
docker save anumbrella/ubuntu:ssh>myUbuntu.zip
載入映象
docker load [OPTIONS] IMAGE [IMAGE...]
如:
docker load -i myUbuntu.zip
也可以使用
docker load < myUbuntu.zip
三、 docker下安裝ubuntu以及ssh服務進行連結
經過上面的講解,我們對docker的基本知識有了認識。接下來,我們便開始進行一個docker例項。現在假如有一個這樣的需求,公司來了10個實習生,我們需要給他們10個linux伺服器給他們擺弄。現在只有一臺伺服器可以用,當然可以linux分配賬號,來實現。如果需要更徹底完善root,單個人的系統,其實可以用docker來部署。
1、安裝ubuntu系統
在docker的hub倉庫中,有專門的ubuntu系統。我們直接用使用就可以了。
docker search ubuntu
如圖:
2、選擇要拉下了的映象
docker pull ubuntu
這裡可以很很慢,因為映象是在國外。使用映象加速就可以了。
在/etc/docker/daemon.json 檔案並新增上 registry-mirrors 鍵值。如果沒有檔案,則新建一個。鍵值如下:
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
重啟服務: service docker restart 。
還有其他的方法,可以看官方的加速連結,連結地址。
3、下載完畢後,檢視映象:
docker images
如圖:
4、執行容器
docker run --name iubuntu -t -i -d -p 3316:22 ubuntu
引數: –name 指定生成的容器的名稱
-i: 以互動模式執行容器,保證容器中STDIN是開啟的。通常與 -t 同時使用;
-t: 為容器重新分配一個偽tty終端,通常與 -i 同時使用;
-d: 後臺執行容器,並返回容器ID;
-p:可以指定要對映的IP和埠,但是在一個指定埠上只可以繫結一個容器。支援的格式有 hostPort:containerPort、ip:hostPort:containerPort、 ip::containerPort。
ubuntu 則是映象名稱,映象ID也可以的。
執行後檢視結果如下:
5、進入容器終端安裝ssh服務
docker exec -t -i [容器名orID] /bin/bash
安裝ssh服務(預設為root許可權使用者):
先執行更新
apt-get update
安裝ssh-client命令
apt-get install openssh-client
安裝ssh-server命令
apt-get install openssh-server
安裝完成以後,先啟動服務
/etc/init.d/ssh start
啟動後,可以通過“ps -e|grep ssh”檢視是否正確啟動。
如下圖:
最後編輯sshd_config檔案
vim /etc/ssh/sshd_config
將PermitRootLogin xxxx-password 改為 PermitRootLogin yes。
如果沒有vim,先apt-get install vim。重啟ssh服務
service ssh restart
設定ssh密碼
passwd root
檢視容器ip:
apt-get install net-tools
然後輸入ifconfig,檢視容器ip。
如圖:
6、ssh連結容器中的系統
退出容器終端exit。
在宿主機中,docker ps -a 命令中可以檢視到容器的埠。在宿主機中,可以使用localhost進行登入,也可以使用剛才ifconfig檢視的ip進行登入。
ssh root@localhost -p 3316
如下圖:
如果要從外部進行登入,就要使用宿主機的ip,埠不變。這樣我們的任務就完成了。接下來,就可以自由玩耍伺服器了。
如下圖:
ssh root@x.x.x.x -p 3316
x.x.x.x就是宿主機的ip地址。
7、提交更改的映象
剛剛我們對容器進行了安裝,可以如果刪掉話。每次都要重新執行上面的操作,所以可以對映象進行提交儲存。
docker commit [改變了的容器的ID] [REPOSITORY:TAG]
如圖:
最後打包了一個Ubuntu的web伺服器映象到阿里雲的hub管理平臺上,包含ssh、apache、mysql等服務,大家可以去pull來學習一下。
地址:映象
相關文章
- Ubuntu下簡單安裝微信Ubuntu
- ROS下Kinect2的驅動安裝及簡單應用ROS
- ubuntu20安裝docker、redis、mysql及部署net6應用UbuntuDockerRedisMySql
- Kafka應用實戰——Kafka安裝及簡單使用Kafka
- Docker簡介及安裝Docker
- Docker-ElasticSearch7.8.1 安裝及簡單介紹DockerElasticsearch
- Docker最全教程之Ubuntu下安裝Docker(十四)DockerUbuntu
- 【Docker快速入門】在Ubuntu下安裝DockerDockerUbuntu
- ubuntu安裝docker及k8sUbuntuDockerK8S
- ubuntu下git安裝及使用UbuntuGit
- Ubuntu Docker 安裝UbuntuDocker
- ubuntu安裝dockerUbuntuDocker
- ubuntu 安裝 dockerUbuntuDocker
- Docker安裝和簡單使用Docker
- Ubuntu下啟用docker並安裝mysql|redis|tomcat|rapUbuntuDockerMySqlRedisTomcat
- Ubuntu 16.0.4 Linux下安裝DockerUbuntuLinuxDocker
- Ubuntu22.04下Docker的安裝UbuntuDocker
- Ubuntu24.04下Docker安裝與配置UbuntuDocker
- zabbix容器化安裝及監控docker應用Docker
- Ubuntu 安裝mysql和簡單操作UbuntuMySql
- 使用Docker安裝應用Docker
- WebSphere(was8.5)安裝簡單應用程式部署安裝Web
- ubuntu下安裝nodejs和升級簡單介紹UbuntuNodeJS
- UBUNTU安裝、應用軟體安裝及最佳化手記(轉)Ubuntu
- Win10 下安裝 docker,部署 Web 應用Win10DockerWeb
- Ubuntu中安裝DockerUbuntuDocker
- UBuntu16.04下安裝Docker(親測)UbuntuDocker
- ubuntu16.04系統下安裝dockerUbuntuDocker
- Ubuntu 下Qt SDK的下載及安裝UbuntuQT
- Ubuntu下maven安裝和tomcat簡易安裝UbuntuMavenTomcat
- RabbitMQ 安裝及簡單使用(基於 docker|白小純版)MQDocker
- kali簡單安裝docker和docker-composeDocker
- Flume安裝及簡單部署
- sysbench安裝及簡單使用
- Docker 理論簡介及安裝教程Docker
- Ubuntu下Postgresql-8.4安裝及配置UbuntuSQL
- monogdb windows環境下 安裝及使用簡單示例MonoWindows
- Ubuntu 安裝 docker[laradock]UbuntuDocker