docker
什么是docker?
- 使用容器让创建、部署、运行应用程序更简单的一个工具
- 让应用所需的库和依赖环境打包
- 有一点点像虚拟机
容器:容器在Linux上*本地运行*,并与其他容器共享主机的内核。它运行一个离散进程,不占用任何其他可执行文件更多的内存,从而使其轻巧。
相比之下,**虚拟机**(VM)运行成熟的“来宾”操作系统,并通过虚拟机管理程序对主机资源进行*虚拟*访问。通常,VM会产生大量开销,超出了应用程序逻辑所消耗的开销。
docker安装
docker安装 社区版本
1,更新ubuntu的apt源索引
sudo apt-get update
2, 安装包允许apt通过HTTPS使用仓库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
3, 添加Docker官方GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4, 设置Docker稳定版仓 添加docker源
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
5, 添加仓库后,更新apt源索引
sudo apt-get update
6,安装最新版Docker CE(社区版)
```shell
sudo apt-get install docker-ce
7, 通过运行hello-world 映像来验证是否正确安装了Docker Engine-Community 。
sudo docker run hello-world # 创建容器
8, 为了避免每次命令都输入sudo,可以设置用户权限,注意执行后须注销重新登录
sudo usermod -a -G docker $USER
卸载Docker Engine-社区
-
卸载Docker Engine-社区软件包:
-
sudo apt-get purge docker-ce
-
-
主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:
-
sudo rm -rf /var/lib/docker
-
以下示例启动Redis容器并将其配置为始终重新启动,除非明确将其停止或重新启动Docker。
- on-failure 如果容器由于错误而退出,请重新启动容器,该错误表示为非零退出代码。
docker run -dit --restart unless-stopped ubuntu
docker 查找镜像
https://hub.docker.com/
镜像字段介绍
- **REPOSITORY:**表示镜像的仓库源
- **TAG:**镜像的标签
- **IMAGE ID:**镜像ID
- **CREATED:**镜像创建时间
- **SIZE:**镜像大小
安装ubuntu镜像
docker search ubuntu 在仓库查找镜像
docker pull ubuntu 安装镜像
docker images 查看docker镜像
# 运行docker镜像
-name自定义容器名,-p指定端口映射,前者为虚拟机端口,后者为容器端口,成功后返回id
查看所有启动的容器(查看所有容器加 -a)
docker run -dti --name ubuntu_test -p 8088:8088 ubuntu
查看容器信息 根据id
docker inspect id
# /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell
进入 容器 ubuntu
docker exec -it d2 /bin/bash
# 查看版本
cat /etc/issue
# 退出
先按,ctrl+p
再按,ctrl+q
exit 会退出整个系统
# 制作docker镜像 1.0是版本号 ubuntu_test 是镜像名字
docker commit fae ubuntu_demo:1.0
# 打包镜像
docker save -o ubuntu_test1.tar ubuntu_test1:1.0
在安装docker时候有几个坑需要注意
docker 命令
# Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
docker search tomcat
# 安装
docker pull tomcat
# 创建容器
docker run -dti --name tomcat_demo -p 8080:8080 tomcat
# 访问
http://192.168.216.137:8080/
####docker启动与停止
# 启动docker
sudo service docker start
# 停止docker
sudo service docker stop
# 重启docker
sudo service docker restart
**停止与启动容器**
```shell
# 停止一个已经在运行的容器
docker stop 容器名或容器id
# 启动一个已经停止的容器
docker start 容器名或容器id
# kill掉一个已经在运行的容器
docker container kill 容器名或容器id