前言
仅供自己学习记录
简介
- Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
docker的安装与配置(安装环境为Ubuntu)
一、 准备工作
1.1 内核查看
- Linux服务器安装的centos的系统内核不能低于3.10,否则安装不成功。可以通过一下命令查看系统内核
uname -r
1.2 更新仓库
sudo apt-get update
1.3 允许apt通过https安装
sudo apt-get install
1.4 安装curl指令
sudo apt install curl
1.5 卸载旧版
sudo apt-get remove docker docker-engine docker.io containerd runc
二、安装docker
- docker分为(Docker版本分为CE(社区免费版)和EE(企业版,安全CE),我们通常所下载的docker为docker ce社区版的
1.1 添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
- 如果添加失败,可以使用下面这个
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0EBFCD88
备用密钥: 9AA38DCD55BE302B- 如果一直添加失败,则采用本地添加
- ①首先下载gpd密钥,并将文件移动到指定目录如/home/package/pgg
https://download.docker.com/linux/ubuntu/gpg
- ②添加密钥
sudo apt-key add /home/package/gpg
- 验证密钥
sudo apt-key fingerprint 0EBFCD88
1.2. 设置稳定版仓库
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
$(lsb_release -cs) \
stable"
1.3 安装最新版的Docker CE和containerd
apt-get install docker-ce docker-ce-cli containerd.io
1.4 查看版本
docker version
1.5 添加阿里镜像加速
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
- 登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["这里内容自己到自己账号下的阿里云获取路径"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
- 查看加速是否配置成功
docker info
1.6 重新启动服务
sudo systemctl daemon-reload
sudo systemctl restart docker
三、基础使用教程
1.1 镜像操作
查看镜像:
docker images
删除images(镜像),通过image的id来指定删除谁:
docker rmi <image id>
删除所有不使用的镜像:
docker image prune --force --all或者docker image prune -f -a
删除全部image(镜像):
docker rmi $(docker images -q)
强制删除全部image(镜像):
docker rmi -f $(docker images -q)
1.2 容器操作
#列出所有容器ID:
docker ps -aq
#查看所有运行或者不运行容器:
docker ps -a
#停止、启动、杀死、重启一个容器:
docker stop Name或者ID
docker start Name或者ID
docker kill Name或者ID
docker restart name或者ID
#docker进入容器,查看配置文件:
docker exec :在运行的容器中执行命令
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN(标准输入) 打开,以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
docker exec -it f94d2c317477 /bin/bash
#如果出现root@f94d2c317477:/usr/share/elasticsearch/config# vi elasticsearch.yml
bash: vi: command not found
#处理方法:
apt-get update && apt-get install vim -y
#修改配置、退出容器
1、如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器
2、如果使用exit退出,那么在退出之后会关闭容器,可以使用下面的流程进行恢复
使用docker restart命令重启容器
使用docker attach命令进入容器
#停止所有的container(容器),这样才能够删除其中的images
docker stop $(docker ps -a -q) 或者 docker stop $(docker ps -aq)
#删除所有停止的容器:
docker container prune
#删除所有container(容器):
docker rm $(docker ps -a -q) 或者 docker rm $(docker ps -aq)
#从容器到宿主机复制
docker cp tomcat:/webapps/js/text.js /home/admin
docker cp 容器名: 容器路径 宿主机路径
docker安装使用mysql
一、准备工作
1.1 获取mysql镜像(此处安装5.7,更多详细版本去官方镜像仓库查看)
docker pull mysql:5.7
1.2 查看镜像
docker images
1.3 创建mysql容器
- ①在本地创建mysql的映射目录(目录可自定义)
mkdir -p /home/server/mysql/data /home/server/mysql/logs /home/server/mysql/conf
- ②创建*.cnf文件
touch /home/server/mysql/confmy.cnf
- ③映射文件
- 将数据,日志,配置文件映射到本机
docker run -p 3306:3306 --name mysql -v /home/server/mysql/conf:/etc/mysql/conf.d -v /home/server/mysql/logs:/logs -v /home/server/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
-d 后台运行容器
-p 将容器的端口映射到本机的端口
-v 将主机目录挂载到容器的目录
-e 设置参数
MYSQL_ROOT_PASSWORD=root(设置初始密码为root)
二、docker中mysql的使用
1.1 启动mysql容器
docker start mysql
1.2 查看文件挂载
cd /home/server/mysql/data
ls
2.3 使用数据库工具连接
2.4 指令登录mysql
- ①查看容器列表,找到mysql的NAME
docker ps -a
- ①从本机进入mysql的docker
docker exec -it mysql /bin/bash
- ③登录mysql即可
mysql -uroot -p
- ④退出mysql容器
exit