Docker下载、安装
ubuntu系统
1.查看安装的所有软件
dpkg -l
2.查看软件安装的路径
dpkg -L xx
安装方式
-
apt install docker.io
过时的安装方式 官方不推荐安装docker.io但是能用就好 -
从repository安装比较繁琐,可以按文档操作
-
也可以从官网下载安装包
查看docker服务的状态
systemctl status docker
mark@ocarina:~$ systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2019-01-24 20:06:12 CST; 15min ago
Docs: https://docs.docker.com
Main PID: 14293 (dockerd)
Tasks: 31
CGroup: /system.slice/docker.service
├─14293 /usr/bin/dockerd -H fd://
└─14321 docker-containerd --config /var/run/docker/containerd/containerd.toml
基本概念
- 镜像(Image)
- 容器(Container)
- 仓库(Repository)
镜像类似java的class
容器相当于由class创建的对象
仓库相当于jar包,用于保存一组镜像
Image
一个只读的模板 ,可创建多个容器
查看镜像
docker images
下载镜像
docker pull image
# 从网易云拉取nginx镜像
mark@ocarina:/etc/docker$ sudo docker pull hub.c.163.com/public/nginx:1.2.1
1.2.1: Pulling from public/nginx
f46924f139ed: Pull complete
a3ed95caeb02: Pull complete
4849cac99801: Pull complete
ff472075fa83: Pull complete
Digest: sha256:ef9bd0fa2c97429562ecc209772ef07ebb9dfd66dc310ea02739d1f026dbf7b8
Status: Downloaded newer image for hub.c.163.com/public/nginx:1.2.1
删除镜像
docker rmi image_id
docker rmi image:tag
导出镜像
docker save image:tag > /path/to/save/xx.tar.gz
导入镜像
docker load < /path/to/save/xx.tar.gz
创建容器
docker run -it --name my-app image:tag /bin/bash
docker run -d --name my-app image:tag
Container
类似一个虚拟机
可以看做简易的linux运行环境(包含root用户权限,运行空间、网络、用户空间等)+其中运行的应用程序
docker利用容器来运行应用
container是从image模板创建出来的运行实例
容器之间相互隔离、互不影响
查看容器
docker ps -a
mark@ocarina:~$ sudo docker ps -a
[sudo] mark 的密码:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7df7b41ba0f5 2dc68ff797db "/bin/sh -c '/etc/in…" 13 minutes ago Up 13 minutes 22/tcp, 80/tcp, 443/tcp unruffled_proskuriakova
60e77b542b8d 2dc68ff797db "/bin/sh -c '/etc/in…" 18 minutes ago Up 18 minutes 22/tcp, 80/tcp, 443/tcp thirsty_kepler
启动容器
mark@ocarina:~$ sudo docker start 7df7b41ba0f5
7df7b41ba0f5
停止容器运行
mark@ocarina:~$ sudo docker stop 7df7b41ba0f5
7df7b41ba0f5
删除容器
mark@ocarina:~$ sudo docker rm 7df7b41ba0f5
7df7b41ba0f5
进入容器
mark@ocarina:~$ sudo docker exec -it 60e77b542b8d /bin/bash
[sudo] mark 的密码:
root@60e77b542b8d:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin selinux srv sys tmp usr var
cat /etc/hosts #查看ip地址
将文件放进docker容器
docker cp xx.war container_id:/usr/loal/tomcat/webapp
Registry
注册器(仓库注册服务器 一个网站 包含多个仓库 每个仓库有多个image)
是集中存放镜像文件的场所
有public registry 也有private registry
一个registry中有多个repository
一个repository中会有多个不同tag的image
centos的仓库中有tag为6或7的image 代表centos6或centos7