导图社区 Docker
Docker详细的总结了基本操作,问题,Dockerfile,MySQL部署,redis集群,MongoDB
提示: 本内容由社区用户上传并分享。平台不对内容的真实性、合法性、知识产权归属及是否侵害第三方权利进行事前审核或保证。本内容可能包含受版权保护的图片、字体或其他第三方素材,使用前请自行确认授权范围。
这是一篇关于openEuler系统管理思维导图, 包含任务管理 、网络管理 、进程管理等。介绍详细,有需要的朋友赶紧收藏吧!
内核是一人操作系统的运算核心,决定着系统的性能和稳定性。它是基于硬件的第一层软件扩充,提供操作系统的基本功能,是操作系统工作的基础。它负责管理系统的进程、内存、外设驱动程序、支件和网络系统。
文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
社区模板帮助中心,点此进入>>
互联网9大思维
安全教育的重要性
组织架构-单商户商城webAPP 思维导图。
个人日常活动安排思维导图
域控上线
西游记主要人物性格分析
17种头脑风暴法
python思维导图
css
CSS
Docker
I. 基本操作
1. 拉取镜像
docker pull mysql
2. 查看镜像
docker images
3. 查看进程
docker ps
4. 查看容器列表
docker container ls
5. 查看日志
docker logs CONTAINER_ID
docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
6. 删除容器
docker rm 容器
docker rm `docker ps -a | grep jdk8 | awk '{print $1}'`
7. 删除镜像
docker rmi 镜像id
8. 构建Dockerfile
docker build -f Dockerfile文件路径 -t 标题名 .
-f: --file 可无 默认文件 Dockerfile -t: --tag 可无 自动生成标题名 .: 必输 Docker守护进程
9. 重命名镜像
docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
10. 容器生成镜像
docker commit test-centos1 centos_sshd:7.0
11. 拷贝文件
docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径
II. 问题
bind:Address already in use
处于TIME_WAIT的状态
netstat -an|grep TIME_WAIT
查看端口是否被占用
netstat -nap | grep 15672
查看进程端口
ps -ef | grep 15672
关闭进程
kill -9 pid
III. Dockerfile
FROM:指定基础镜像,必须为第一个命令
示例: FROM mysql:5.6
MAINTAINER: 维护者信息
示例: MAINTAINER lanlingxueyu
RUN:构建镜像时执行的命令
示例: RUN ["/etc/execfile", "arg1", "arg1"]
ADD:将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget
示例: ADD hom* /mydir/ # 添加所有以"hom"开头的文件
COPY:功能类似ADD,但是是不会自动解压文件,也不能访问网络资源
CMD:构建容器后调用,也就是在容器启动时才进行调用
示例: CMD ["/usr/bin/wc","--help"]
ENTRYPOINT:配置容器,使其可执行化。配合CMD可省去"application",只使用参数
示例: ENTRYPOINT ["top", "-b"]
LABEL:用于为镜像添加元数据
示例:LABEL version="1.0" description="这是一个Web服务器" by="IT笔录"
ENV:设置环境变量
示例:ENV myName John Doe
EXPOSE:指定于外界交互的端口
示例:EXPOSE 80 443
VOLUME:用于指定持久化目录
示例:VOLUME ["/data"]
WORKDIR:工作目录,类似于cd命令
示例: WORKDIR /a (这时工作目录为/a)
USER:指定运行容器时的用户名或 UID
示例:USER www
ARG:用于指定传递给构建运行时的变量
示例: ARG build_user=www
ONBUILD:用于设置镜像触发器
示例:ONBUILD ADD . /app/src
Dockerfile
IV. MySQL部署
1. 创建MySQL容器
docker run -dit --name mysql001 -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-p 代表端口映射,格式为 宿主机映射端口:容器运行端口 -e 代表添加环境变量 MYSQL_ROOT_PASSWORD是root用户的登陆密码
2. 进入MySQL容器
docker exec -it mysql001 /bin/bash
登陆mysql
mysql -u root -p
查看mysql的版本
mysql> status;
进行授权远程连接(注意mysql 8.0跟之前的授权方式不同)
GRANT ALL ON *.* TO 'root'@'%';
更改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
更新root用户密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
刷新权限
flush privileges;
V. redis集群
1. redis问题
(error) MOVED 2085 172.17.0.2:6379
登录没有启动集群模式(即缺少了那个"-c"):redis-cli -c -a 123456
2. 方案1
下载镜像
docker pull redis
准备配置文件
redis.conf
启动redis容器
3. 方案2自动化脚本
VI. MongoDB
1.自动化脚本