赞
踩
centos7安装docker
安装相应工具
yum -y install yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
启动docker并设置开机启动
systemctl start docker
systemctl enable docker
查看docker版本
docker version
网址 https://www.aliyun.com/product/acr
点击管理控制台--》镜像中心--》镜像加速器
docker info命令查看是否配置成功
docker中以交互方式运行程序
docker run -it --name mycentos02 centos:7
docker rm 容器id #删除容器
docker rm -f 容器id #强制删除
docker start 容器id
docker attach 容器id # 进入容器终端
docker stop 容器id #停止id
docker ps -a # 显示所有容器
docker rm -f $(docker ps -qa) # 清空所有容器
docker rmi -f $(docker image -qa) #清空镜像
以守护方式启动容器
docker run -di --name 自定义容器名 容器id
以交互方式启动容器
docker run -it --name 自定义容器名 容器id
进入容器
docker attach 容器id 或 容器名
直接操作容器,执行完回到宿主主机终端。一般用于启动容器里的应用,如tomcat nginx redis elasticsearch等。
docker exec -it 容器ID 或 容器名 /bin/bash
查看日志方法
docker logs 容器id
或者去宿主机的文件目录查找,位置 /var/lib/docker/containers
查看容器进程
docker top 容器id
提交运行时的容器为新的镜像
docker commit -a='author' -m='备注' 运行时的容器id 新镜像名称
很多时候,中小公司为了方便搭建私有仓库,直接使用稳定的阿里云镜像仓库,方便公司内部业务系统直接拉取镜像。
步骤一:
进入:https://cr.console.aliyun.com 阿里云镜像控制台,需要注册 用户名就是淘宝或支付宝账户名,镜像控制台密码单独设置。
步骤二:
进入控制台,我们先创建命名空间,再创建镜像。
我们可以通过cp命令来实现docker容器和宿主机之间的数据传输,但是这种方式比较麻烦。
我们通过容器目录挂载,能够轻松实现代码上传,配置修改,日志同步等需求,尤其是在搞集群的时候。
语法:
docker run -it -v /宿主机目录:/容器目录 镜像名
多目录挂载
docker run -it -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名
注意
如果同步的是多级目录,可能会出现权限不足的提示。
这是因为Centos7中的安全模块 selinux 把权限禁用掉了,我们需要添加 --privilleged=true 来解决挂载的目录没有权限的问题。
挂载只读目录(比如配置文件不允许修改)
docker run -it -v /宿主机目录:/容器目录:ro 镜像名
Docker 部署mysql8
docker pull mysql:8.0.19
docker run -d -p 33060:3306 --name mysql8 -v /home/mysql8/conf:/etc/mysql/ -v /home/mysql8/datadir:/var/lib/mysql/ -v /home/mysql8/log:/var/log --restart always --privileged=true -e MYSQL_USER="fate" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD=fate_dev 9b51d9275906
解释
-p 端口映射
--name 容器名字
--name mysql8 容器名mysql8
-v 宿主机挂载容器目录(这里分别挂载了mysql的配置目录、数据目录和日志目录,不同的mysql镜像这几个目录可能不相同,需要根据实际情况配置。/home/mysql8是宿主机上的目录)
-v /home/mysql8/conf:/etc/mysql/ 映射配置文件目录
-v /home/mysql8/datadir:/var/lib/mysql/ 映射数据目录
-v /home/mysql8/log:/var/log 映射日志目录
--restart always 开机启动
--privileged=true 提升容器内权限
-e 表示配置环境变量
-e MYSQL_USER="fate":添加用户
-e MYSQL_PASSWORD="123456":设置普通用户密码
-e MYSQL_ROOT_PASSWORD=”123456”:设置root的密码
9b51d9275906 -- 镜像id
----------
进入mysql容器
docker exec -it mysql8 /bin/bash
登录到mysql
mysql -uroot -p123456
修改账号加密算法
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
刷新权限
FLUSH PRIVILEGES;
宿主机里的home目录下新建mysql目录,复制容器里的conf、log目录到宿主机
执行exit退出mysql
执行exit退出容器到宿主机
在宿主机远程登录容器中的mysql
./mysql -h127.0.0.1 -uroot -P 33060 -p
查询mysql容器的元信息(比如查容器的ip地址)
docker inspect b62e069a3b33(容器id)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。