首页 > 技术文章 > Ubuntu系统下docker容器服务搭建与使用

hi-9527 2021-09-12 23:39 原文

前言

仅供自己学习记录

简介

  • 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

推荐阅读