docker使用总结

1、docker的基本概念html

 

  • Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup, namespace,以及AUFS类的UnionFS(具体实现为overlay2)等技术(三大要点),对进程进行封装隔离,属于操做系统层面的虚拟化技术。 因为隔离的进程独立于宿主和其它的隔离的进程,所以也称其为容器。Docke最初实现是基于LXC(即Linux container)。
  • Docker能够作到秒级、甚至毫秒级的启动时间;善于处理集中爆发的服务器使用压力;以很轻易的将在一个平台上运行的应用,迁移到另外一个平台上;使用Docker能够经过定制应用镜像来实现持续集成、持续交付、部署。
  • docker、oci、runc以及kubernetes:(参考连接1)  
  • Docker技术三大要点:cgroup, namespace和unionFS的理解 (参考连接1)  
  • 众 所周知,Docker使用了Linux的Namespaces技术来进行资源隔离,如PID Namespace隔离进程Mount Namespace隔离文件系统Network Namespace隔离网络等。
  • Docker内置这四种网络,使用该docker run --network=<NETWORK>选项指定,bridge 模式为默认选项。host模式:使用 --net=host 指定;none模式:使用 --net=none 指定;bridge模式:使用 --net=bridge 指定,为默认设置;container模式:使用 --net=container:NAME_or_ID 指定。 (参考连接1)  

 

 


 2、docker基本的使用java

0 ) docker 经常使用命令:mysql

1)基本docker命令:sudo docker version  Docker版本信息;  sudo docker info  Docker运行状态   nginx

2)docker 安装mysql数据库并启动   参考连接1  参考连接2    docker上启动mysql   sql

1)docker pull mysql 2)docker run --name htc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql 【启动容器htc-mysql并设置root密码123456,且将容器内部的端口3306映射到上级的机器端口3306】 3)docker exec -it &htc-mysql& /bin/bash 【进入mysql数据库容器】 4)mysql --host=localhost -u root -p 【进入本机mysql数据库】 5)mysql> update user set password_expired = "Y"where user="root"; 6)mysql>  ALTER USER'root'@'locahost' IDENTIFIED WITH mysql_native_password BY '123456'; (docker版本和mysql版本不配产生的问题) 7)mysql> grant all privileges on *.* to 'root'@'%'8)flush privileges;
View Code

3) 安装NGINX镜像后本地启动NGINX:  docker run -p 8080:80 -d docker.io/nginx:docker部署nginx : (参考连接1docker

4)docker的网络:一、宿主主机访问虚拟机中的docker服务配置: (参考连接1   2shell

5)docker一句话:1:安装 yum install docker  2:启动、中止docker: service docker start\stop 3:显示已经安装的镜像 docker image 4:列出已经安装的容器:docker ps -a 5:docker ps 列出正在运行的容器 6:docker run ($容器名称) 建立容器 7:删除 容器:docker rm ($容器名称) 8:docker stop/start  ($容器名称)[启动、中止容器]数据库

6) docker网络中的容器若是须要互相之间通信则,须要修改下列文件:/etc/sysconfig/docker-network 中的DOCKER_NETWORK_OPTIONS= 为“--icc=true”  vim

7) docker中容器停中止了,须要重启又生效,若是再经过docker run安装镜像,则原来的容器配置就看不到了。centos

 


三,docker的排错与优化

 

1)Docker报错 WARNING: IPv4 forwarding is disabled. Networking will not work.:解决办法:vim /usr/lib/sysctl.d/00-system.conf

添加以下代码: net.ipv4.ip_forward=1   重启network服务   systemctl restart network

2)关于Docker目录挂载:# docker run -it -v /test:/soft centos /bin/bash (譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录)参考:(参考连接1

 3)清理docker的目录文件等(docker info|grep -i storage  ~~~||~~~ docker system prune ):(参考连接1  )

相关文章
相关标签/搜索