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
未完。待续。。。。。。