docker三大核心概念
镜像:
images,即软件,里面包含了一个微型操作系统+核心代码程序+依赖库环境--》镜像文件越小越好
docker load导入镜像,docker load -i mysql-5-7-41.tar
docker save导出镜像如docker save -o mysql-5-7-41.tar mysql:5.7.41
仓库:
存放镜像的地方
容器:
运行镜像的地方,本质上是一个进程,需要消耗cpu,内存,磁盘,网络等
在centos上安装docker
安装docker
准备一台新机器docker-1(centos7系统)
cd /etc/yum.repos.d ->
rm -f *因为centos7.9官方已经停止服务->
下载阿里云源curl -O http://mirrors.aliyun.com/repo/Centos-7.repo -》
ls查看该目录下是否已经有阿里云源-》
yum install yum-utils -y下载相关工具
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo下载安装docker的仓库文件
yum makecache fast生成安装docker的缓存
yum install docker-ce -y 安装docker
systemctl start docker启动docker
systemctl enable docker设置开机启动
ps aux|grep docker查看是否有docker进程
systemctl stop firewalld,systemctl disable firewalld禁防火墙
vim /etc/selinux/config改为disabled,禁用selinux
reboot重启系统刷新
将nginx放入docker中运行
将nginx.tar文件导入linux系统中(我选择家目录下),再
docker load -i nginx.tar 将nginx.tar镜像文件导入到docker软件里
docker images查看镜像,查看到有nginx之后
docker -d -p 80:80 --name sc-nginx-1 nginx给容器取名并运行nginx
docker ps查看运行成功与否,再去浏览器查看效果
指令解释
docker ps -a:查看所有已存在容器(包括运行up与退出exited),nginx等软件是放在容器里运行的
docker run -d -p 80:80 --name sc-nginx-1 nginx,将镜像nginx放在容器中取名sc-nginx-1运行(创建并运行),-d(daemon)指后台运行,-p(public)指将容器发布出去,让外面的机器可以访问,80:80,第一个80指宿主机端口(必须唯一),第二个80指容器端口
docker images:查看docker中的镜像程序
docker ps:查看docker在运行的容器,一个容器代表一个进程(ps aux|grep container中的/usr/bin/containerd-shim-runc-v2对应进程),如果将该进程杀死,docker ps也查不到运行容器了,同样网站也无法打开。
docker create -p 81:80 --name=sc-nginx-2 nginx:创建容器
docker start sc-nginx-2:启动已经创建过的容器
docker stop sc-nginx-2:关闭正在运行的容器
docker inspect sc-nginx-1:查看容器详细信息
下载mysql镜像到docker
1. 登录阿里云Docker Registry
docker login --username=fengkezhen registry.cn-hangzhou.aliyuncs.com
Admin@123
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在访问凭证页面修改凭证密码。
2. 从Registry中拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/fengdy/mysql:5.7.41
docker tag 0018a8d83892 mysql:5.7.41 给镜像改名为mysql:5.7.41方便使用:
docker run -d -p 3307:3306 --name sc-mysql-1 -e MYSQL_ROOT_PASSWORD='sc@123456' mysql:5.7.41
指令解释
docker images查看
docker tag 0018a8d83892 mysql:5.7.41 :给镜像改名,一串字符是image ID
docker run -d -p 3307:3306 --name sc-mysql-1 -e MYSQL_ROOT_PASSWORD='sc@123456' mysql:5.7.41
启动mysql容器,-e给容器传递参数,
docker exec -it sc-mysql-1 bash进入容器内部
mysql -uroot -p'sc@123456'进入mysql进行指令操作
在ubuntu装docker
ubuntu系统用root用户输指令更方便:
先激活root用户 sudo passwd root设置密码,再su root切换到root用户,这样就不用每条指令前加sudo了。
/etc/apt/sources.list.d/仓库文件目录
安装docker
安装依赖软件
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Docker 的官方 GPG 密钥
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
下载中国科技技术大学的仓库文件
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
$(lsb_release -cs) \
stable"
安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
ps aux|grep docker查看进程是否安装成功
ubuntu里默认安装好软件,自动启动并且设置开机启动
将nginx放入docker中运行:
将nginx.tar文件导入linux系统中(我选择家目录下,Ubuntu用xftp导入注意是导入到原始用户家目录下,用root用户需要退回原始用户再进行以下操作,每一步前面加上sudo授权),再
docker load -i nginx.tar 将nginx.tar镜像文件导入到docker软件里
docker images查看镜像,查看到有nginx之后
docker -d -p 80:80 --name sc-nginx-1 nginx给容器取名并运行nginx
docker ps查看运行成功与否,再去浏览器查看效果
下载mysql镜像到docker
标签:容器,nginx,mysql,sc,镜像,docker,安装 From: https://blog.csdn.net/m0_65016941/article/details/1405567901. 登录阿里云Docker Registry
docker login --username=fengkezhen registry.cn-hangzhou.aliyuncs.com
Admin@123
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在访问凭证页面修改凭证密码。
2. 从Registry中拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/fengdy/mysql:5.7.41
docker tag 0018a8d83892 mysql:5.7.41 给镜像改名为mysql:5.7.41方便加入容器使用
docker run -d -p 3307:3306 --name sc-mysql-1 -e MYSQL_ROOT_PASSWORD='sc@123456' mysql:5.7.41