1.安装docker CE
安装步骤参考:阿里云开发者社区 - 镜像站 - docker-ce 镜像
标题
Docker CE 是免费的 Docker 产品的新名称,Docker CE 包含了完整的 Docker 平台,非常适合开发人员和运维团队构建容器 APP。
配置方法
Ubuntu 14.04/16.04(使用 apt-get 进行安装)
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
# docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]
CentOS 7(使用 yum 进行安装)
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ee.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
CentOS 8 安装失败解决办法
为了尝鲜使用了阿里云的CentOS 8镜像,但是发现docker一直安装不成功,一直报缺少依赖,查询其他博主资料发现需要手动额外安装此依赖才可正常安装,此处感谢原作者
cnblogs昵称: Adrian·Ding
原博客文章地址:centos8.0安装docker
#添加阿里repo也可以正常安装
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装依赖
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
#安装docker-ce
yum install docker-ce
#启动docker
systemctl start docker
安装校验
root@iZbp12adskpuoxodbkqzjfZ:$ docker version
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Experimental: false
CentOS 7/8 设置docker守护进程开机启动
以下适用于yum安装的各种服务
#查看已启动的服务
systemctl list-units --type=service
#查看是否设置开机启动
systemctl list-unit-files | grep enable
设置docker开机启动
#设置docker开机启动
systemctl enable docker.service
#关闭docker开机启动
systemctl disable docker.service
2.使用docker
2.1、docker信息
#查看docker版本
docker version
#查看docker信息
docker info
2.2、镜像相关
2.2.1、查看镜像
#列出本地镜像
docker images
#列出本地镜像(含中间映像层,默认情况下,过滤掉中间映像层)
docker images -a
#查看docker容器或镜像的详细信息命令,查看docker中正在运行的容器的挂载位置
docker inspect 容器或镜像ID
2.2.2、搜索镜像
#搜索仓库镜像,例:搜索tomcat镜像
docker search tomcat
# --filter=stars=600:只显示 starts>=600 的镜像
docker search --filter=stars=600 tomcat
# --no-trunc 显示镜像完整 DESCRIPTION 描述
docker search --no-trunc tomcat
# --automated :只列出 AUTOMATED=OK 的镜像
docker search --automated tomcat
2.2.3、镜像下载
#下载镜像,例:从官方下载mysql(默认下载latest版本)
docker pull mysql
#下载指定版本镜像(镜像名:tag),例:从官方下载mysql,指定版本5.5
docker pull mysql:5.5
#下载仓库所有mysql镜像
docker pull -a mysql
#从指定仓库下载镜像
dokcer pull bitnami/mysql
2.2.4、镜像删除
#单个镜像删除(不指定版本tag,默认删除latest)
docker rmi mysql
#强制删除(针对基于镜像有运行的容器进程)
docker rmi -f mysql
#多个镜像删除,不同镜像间以空格间隔
docker rmi -f redis tomcat nginx
#删除本地全部镜像
docker rmi -f $(docker images -q)
2.2.5、查看镜像中得环境变量
# env :查看镜像中得环境变量
docker run tomcat env
2.3、容器相关
2.3.1、运行容器
#运行容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS参数
#OPTIONS参数
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume ,
-v: 绑定一个卷
示例使用
# 给tomcat指定一个名称(“tomcat-01”)并以后台方式(-d)运行
docker run --name tomcat-01 -d tomcat
2.3.2、容器常用命令
#查看运行中的容器
docker ps
#查看所有容器
docker ps -a
#启动容器
docker start 容器ID
#停止容器
docker stop 容器ID
#删除容器
docker rm 容器ID
#端口映射 (-p 主机端口:容器端口)
docker run -d -p 8088:8080 --name tomcat-01 tomcat
2.3.3、容器挂载目录
#将宿主机中的目录或文件挂载到dokcer容器中,例:将宿主机中的war包以挂载的形式发布到容器的tomcat中
docker run -d -p 8088:8080 -v /root/test.war:/usr/local/tomcat/webapps/test.war tomcat
2.3.4、拷贝数据(双向)
docker cp 容器ID:容器中文件的绝对路径 主机路径
docker cp 主机路径 容器ID:容器中文件的绝对路径
示例:
#将主机/www/runoob目录拷贝到容器f12935a0b708的/www目录下
docker cp /www/runoob f12935a0b708:/www/
#将主机/www/runoob目录拷贝到容器f12935a0b708中,目录重命名为www
docker cp /www/runoob f12935a0b708:/www
#将容器f12935a0b708的/www目录拷贝到主机的/tmp目录中
docker cp f12935a0b708:/www /tmp/
2.3.5、设置容器自动启动
#启动时加 --restart=always
docker run -d -p 8088:8080 --restart=always -v /root/test.war:/usr/local/tomcat/webapps/test.war tomcat
如果是已经过运行的项目则使用update更新
#tomcat-01可以指定为容器id或者容器名
docker update --restart=always tomcat-01
2.3.6、容器日志
docker logs [OPTIONS] CONTAINER
#OPTIONS参数说明
-f : 跟踪日志输出
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志
#查看tomcat-01容器日志,默认参数
docker logs tomcat-01
#查看tomcat-01容器日志,参数:-f 跟踪日志输出;-t 显示时间戳;--tail 仅列出最新N条容器日志;
docker logs -f -t --tail=20 tomcat-01
#查看容器tomcat-01从2020年01月01日后的最新10条日志。
docker logs --since="2020-01-01" --tail=10 tomcat-01
2.4、配置阿里下载源
docker的仓库地址是国外的,有时候下载非常慢,下一个java8花了2个小时还没下完,增加国内下载镜像会快很多,方法如下:
1、进入docker的宿主机目录
#进入docker目录
cd /etc/docker
#修改daemon.json文件,如果没有则新建,直接使用此命令即可
vim daemon.json
2、打开daemon.json文件,增加此配置
{
"registry-mirrors":["https://almtd3fa.mirror.aliyuncs.com"]
}
3、重启docker服务
service docker restart
再进行下载,速度就提升了很多,下载速度慢可以试试此方法