文章目录
1. Docker的安装
1.1 准备工作
Docker 要求 Ubuntu 系统的内核版本高于 3.10,可支持64位的ubuntu操作系统 Cosmic 18.10、Bionic 18.04 (LTS)、Xenial 16.04 (LTS)。通过下面的命令查看自己的ubuntu内核版本:
查看ubuntu系统是32位的还是64位的:
getconf LONG_BIT
查看系统信息:
lsb_release -a
查看操作系统架构:
uname -a
1.2 卸载旧版本
Docker 的旧版本名称为:docker 、 docker-engine 或者 docekr-io。如果安装过旧版本的需要先卸载:
sudo apt-get remove docker docker-engine docker.io
1.3 安装Docker
最新版本的 Docker 分两个版本,Docker-CE(Community Edition)和Docker-EE(Enterprise Edition)。CE版本是免费的,如果我们学习或者一般应用,CE足够。下面我们安装社区版。
1.3.1 安装 https 相关的软件包
先更新一下软件源库信息
sudo apt-get update
由于docker安装需要使用https,所以需要允许apt通过HTTPS使用仓库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
1.3.2 设置apt仓库地址
鉴于国内网络问题,强烈建议使用国内地址 ~
- 添加 阿里云 的apt仓库 (推荐)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
- 添加 Docker 官方apt仓库 (不推荐)
执行该命令时,如遇到长时间没有响应说明网络连接不到docker网站,需要使用国内的
添加 Docker 官方的 GPG 密钥(为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
设置稳定版本的apt仓库地址
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
1.3.3 安装 Docker 软件
- 更新一下软件源库信息
sudo apt-get update
- 安装最新版的Docker
sudo apt-get install docker-ce
注:安装时如果出现以下错误说明有未能满足的依赖关系:
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。
解决方案参考博客:解决错误apt –fix-broken install
- 如果要安装指定版本的docker,可以先查看可供安装的所有docker版本
apt-cache policy docker-ce #
- 再安装指定版本的docker
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
# sudo apt-get install docker-ce=18.03.0~ce-0~ubuntu
1.3.4 检查docker是否安装成功
查看安装的docker版本
docker --version
检查Docker CE是否安装正确
sudo docker run hello-world
出现 “Hello from docker!” 界面表示安装成功。
2. Docker的使用
安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令:
2.1 Docker服务的启动与停止
# 启动docker
sudo service docker start
# 停止docker
sudo service docker stop
# 重启docker
sudo service docker restart
2.2 设置用户权限
为了避免每次命令都输入sudo,可以设置用户权限(注意执行后须注销重新登录):
sudo usermod -a -G docker $USER
2.3 使用 Docker help
如果对某个 Docker命令不清楚,我们可以使用 docker xxx –hlep 来查询相关命令的使用。
docker ps --help
Usage: docker ps [OPTIONS]
List containers
Options:
-a, --all Show all containers (default shows just running)
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print containers using a Go template
-n, --last int Show n last created containers (includes all states) (default -1)
-l, --latest Show the latest created container (includes all states)
--no-trunc Don't truncate output
-q, --quiet Only display container IDs
-s, --size Display total file sizes
2.4 Docker 镜像 与 容器
- Image(镜像,只读层的集合)
镜像是一堆只读层的统一视角,除了最底层没有指向外,每一层都指向它的父层。统一文件系统( Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在。在用户的角度看来,只存在一个文件系统。镜像每一层都是不可写的,都是只读层。 - Container(容器,一层读写层+多层只读层)
容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。要点:容器 = 镜像 + 读写层,并且容器的定义并没有提及是否要运行容器。
2.4.1 镜像常用操作命令
# 列出本地主机上的镜像
docker images
相关参数:
-a:列出本地所有的镜像(含中间映像层)
-q:只显示镜像ID
--digests:显示镜像的摘要信息
--no-trunc:显示完整的镜像信息
# 拉取镜像
docker image pull (镜像ID 或 镜像名称)
# 删除镜像
docker rmi (镜像ID 或 镜像名称)
# 强制删除镜像
docker rmi -f (镜像ID 或 镜像名称)
2.4.2 容器常用操作命令
# 列出当前所有正在运行的容器
docker ps
# 列出所有的容器
docker ps -a
docker ps -a --no-trunc #不截断,查看完整信息
# 启动容器
docker start (容器ID 或 容器名称)
# 重新启动容器
docker restart (容器ID 或 容器名称)
# 停止容器
docker stop (容器ID 或 容器名称)
# 强制停止容器
docker kill (容器ID 或 容器名称)
# 删除容器
docker rm (容器ID 或 容器名称)
# 强制删除容器
docker rm -f (容器ID 或 容器名称)
# 显示容器的完整信息
docker inspect (容器ID 或 容器名称)
# 查看容器日志
docker logs (容器ID 或 容器名称)
# 查看容器日志
docker logs -f -t --tail (容器ID 或 容器名称)
如:docker logs -f -t --tail=10 f9e29e8455a5
-f : 查看实时日志
-t : 查看日志产生的日期
# 进入容器所在目录
docker exec -it (容器ID) /bin/bash
docker container exec -it (容器ID) /bin/bash
# 退出容器所在目录
exit
2.5 修改Docker网段
Docker默认的网段是 172.17.0.1, 若是和本地网段相同则会造成冲突. 这里可以通过修改Docker的默认网段解决.
编辑文件/etc/docker/daemon.json
sudo vim /etc/docker/daemon.json
在文件中写入以下内容
{
"bip" : "172.16.10.1/24"
}
重启docker服务后, 终端 ifconfig 查看ip地址情况, 可以看到 docker 的默认网址变为了 172.16.10.1
参考博客:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/162880.html