OS version:Ubuntu18.04
Docker version:19.03.1
至於Docker的介紹,小編不再這裏介紹,網上的太多了。直接上狗糧……
安裝
更新系統索引
sudo apt-get update
安裝必要軟件
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
添加docker官方源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
再次更新系統索引
sudo apt-get update
安裝Docker CE
sudo apt-get install docker-ce
安裝成功
rock@rockpc:~$ docker version
Client: Docker Engine - Community
Version: 19.03.1
API version: 1.40
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:21:05 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.1
API version: 1.40 (minimum version 1.12)
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:19:41 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.6
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
HelloWorld嘗試Docker
測試運行
docker run ubuntu:17.10 /bin/echo "Hello world"
#輸出
Unable to find image 'ubuntu:17.10' locally
17.10: Pulling from library/ubuntu
4ccdce43d1e0: Pull complete
c95f13c88d92: Pull complete
82656eee95ad: Pull complete
78ff727be57a: Pull complete
448bb314afa5: Pull complete
Digest: sha256:3b811ac794645dfaa47408f4333ac6e433858ff16908965c68f63d5d315acf94
Status: Downloaded newer image for ubuntu:17.10
Hello world
後臺運行
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6244b89c3312 ubuntu:17.10 "/bin/sh -c 'while t…" 55 seconds ago Up 53 seconds trusting_kepler
docker logs 6244b89c3312
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
停止
docker stop 6244b89c3312
命令解析
- 進入容器命令行
-t:在新容器內指定一個僞終端或終端。
-i:允許你對容器內的標準輸入 (STDIN) 進行交互。
docker run -i -t ubuntu:17.10 /bin/bash
- 進入後臺運行
-d:後臺運行
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
- 查看正在運行的容器
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5af8d6b0426a ubuntu:17.10 "/bin/sh -c 'while t…" 4 seconds ago Up 3 seconds xenodochial_bardeen
- 查看全部容器包括停止運行的容器
CONTAINER ID:容器ID
IMAGE:鏡像名
COMMAND:容器啓動命令
CREATED:容器創建時間
STATUS:容器狀態,運行時間、退出的時間等等
PORTS:容器對外綁定的端口
NAMES:容器名
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0baa6bc3f79d training/webapp "python app.py" 3 minutes ago Exited (137) 2 minutes ago runoob
3d59f2e1390f training/webapp "python app.py" 10 minutes ago Exited (137) 3 minutes ago loving_kalam
5af8d6b0426a ubuntu:17.10 "/bin/sh -c 'while t…" About an hour ago Exited (137) About an hour ago xenodochial_bardeen
6244b89c3312 ubuntu:17.10 "/bin/sh -c 'while t…" About an hour ago Exited (137) About an hour ago trusting_kepler
1139fe69cdf6 ubuntu:17.10 "/bin/echo 'Hello wo…" About an hour ago Exited (0) About an hour ago nice_shaw
25f5a2fbbf3a ubuntu:15.10 "/bin/bash" 3 hours ago Exited (100) 3 hours ago hopeful_dirac
00eccc6884c6 ubuntu:15.10 "/bin/bash" 3 hours ago Exited (0) 3 hours ago reverent_engelbart
d72a2e237059 training/webapp "python app.py" 4 hours ago Exited (137) 4 hours ago silly_chatterjee
f1c56e0413d5 training/webapp "python app.py" 5 hours ago Exited (137) 4 hours ago blissful_cannon
cccdabfd79cd training/webapp "python app.py" 5 hours ago Exited (137) 5 hours ago dreamy_carson
- 停止容器
docker stop 5af8d6b0426a
5af8d6b0426a
- 刪除容器
這裏的容器ID需要已經停止的容器
docker rm 2f2eb5fcad95
#批量刪除已停止的容器ID
docker rm $(docker ps -qf status=exited)
或者
docker container prune
- 公有容器查詢
NAME:鏡像倉庫源的名稱
DESCRIPTION:鏡像的描述
STARS:鏡像收藏數
OFFICIAL:是否docker官方發佈
AUTOMATED:是否爲自動化構建的鏡像,關於自動化構建,可以查看官方文檔:https://docs.docker.com/docker-hub/builds/#how-automated-builds-work
docker search tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementati… 2477 [OK]
tomee Apache TomEE is an all-Apache Java EE certif… 66 [OK]
dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base… 53 [OK]
bitnami/tomcat Bitnami Tomcat Docker Image 29 [OK]
kubeguide/tomcat-app Tomcat image for Chapter 1 26
consol/tomcat-7.0 Tomcat 7.0.57, 8080, "admin/admin" 16 [OK]
cloudesire/tomcat Tomcat server, 6/7/8 15 [OK]
tutum/tomcat Base docker image to run a Tomcat applicatio… 11
aallam/tomcat-mysql Debian, Oracle JDK, Tomcat & MySQL 11 [OK]
arm32v7/tomcat Apache Tomcat is an open source implementati… 6
rightctrl/tomcat CentOS , Oracle Java, tomcat application ssl… 5 [OK]
maluuba/tomcat7-java8 Tomcat7 with java8. 3
arm64v8/tomcat Apache Tomcat is an open source implementati… 2
amd64/tomcat Apache Tomcat is an open source implementati… 2
ppc64le/tomcat Apache Tomcat is an open source implementati… 1
99taxis/tomcat7 Tomcat7 1 [OK]
camptocamp/tomcat-logback Docker image for tomcat with logback integra… 1 [OK]
i386/tomcat Apache Tomcat is an open source implementati… 1
s390x/tomcat Apache Tomcat is an open source implementati… 0
secoresearch/tomcat-varnish Tomcat and Varnish 5.0 0 [OK]
picoded/tomcat7 tomcat7 with jre8 and MANAGER_USER / MANAGER… 0 [OK]
oobsri/tomcat8 Testing CI Jobs with different names. 0
cfje/tomcat-resource Tomcat Concourse Resource 0
jelastic/tomcat An image of the Tomcat Java application serv… 0
appsvc/tomcat 0
- 根據容器創建鏡像
#查看當前運行容器
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1ea62f2281d3 ubuntu:17.10 "/bin/bash" 27 seconds ago Exited (0) 10 seconds ago adoring_ptolemy
#根據運行容器創建新鏡像
docker commit -m="update date" -a="rockjiang" 1ea62f2281d3 rock/ubuntu:17.10
sha256:432454879d474523b9257c0114ccb637e7b55188ed737517c254d1d3c5da2692
#查看本機鏡像列表
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rock/ubuntu 17.10 432454879d47 7 seconds ago 100MB
ubuntu 17.10 e211a66937c6 12 months ago 100MB
ubuntu 15.10 9b9cb95443b5 3 years ago 137MB
training/webapp latest 6fae60ef3446 4 years ago 349MB
未完。待續。。。。。。