############################################################################安装docker#################################################################################################
1、输入命令 uname --r
检查Linux内核版本高于3.10才可以安装
2、安装前需要的一些必要的系统工具
输入命令: sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3、添加软件源信息:
输入命令: sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、更新 yum 缓存:
输入命令: sudo yum makecache fast
5、安装 Docker-ce:ce.x86_64版本
输入命令: sudo yum -y install docker-ce
6、启动 Docker 后台服务:
输入命令: sudo systemctl start docker
参考网址:http://www.runoob.com/docker/centos-docker-install.html
############################################################################在docker下安装jdk############################################################################################
1、使用docker命令下载centos镜像
输入命令: docker pull centos
2、使用docker命令查看本地所有镜像
输入命令: docker images
3、启动centos容器,根据上面的2步骤可以查看所有镜像的id
输入命令: docker run -i -t -v /root/:/mnt/ --privileged=true 2a392a47afc5
docker run <相关参数> <镜像 ID> <初始命令>
其中相关参数包括:
-i:表示以交互模式运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式-v<宿主机目录>:<容器目录>
假设我们的所有安装程序都放在了宿主机的/root/目录下,现在需要将其挂载到容器的/mnt/目录下。
这一切做好后你就可以为这个容器安装软件了。
4、经过第三步就可以在容器的/mnt/目录下查看主机的/root/下的文件了,
可以将jdk安装文件放入主机的root目录下
或者也可以用命令直接拷贝主机文件到docker容器里面
先输入命令查看容器id: docker ps
输入命令: docker cp <path to jdk gz file>/jdk-8u121-linux-x64.tar.gz <容器名称或者ID>:/root
输入命令: docker cp root/jdk-8u181-linux-x64.tar.gz 5182e96772bf:/root
5、解压jdk文件
输入命令: tar -zxf /mnt/jdk-8u181-linux-x64.tar.gz -C .
6、重命名jdk文件
输入命令: mv jdk1.8.0_181/ jdk/
7、配置jdk环境
输入命令: vi ~/.bashrc
export JAVA_HOME=/root/jdk ## 这里要注意目录要换成自己解压的jdk 目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
8、立即生效配置
输入命令: source ~/.bashrc
9、输入java -version查看jdk是否生效
10、保存新配置了jdk的镜像
输入命令退出容器:exit
然后再输入命令: docker ps -a 查看刚才的容器id
生成镜像命令:docker commit 57c312bbaad1 javaweb0.1 解释该命令:docker commit 容器id 自定义镜像名称
该容器的ID 是“57c312bbaad1”,所创建的镜像名是“javaweb-jdk”,以后可使用镜像名来启动JavaWeb容器。
参考网址:https://blog.csdn.net/remote_roamer/article/details/56011868
#################################################################################用docker安装mysql####################################################################################
1、使用docker命令下载mysql
输入命令: docker pull mysql:5.7
2、查看该mysql镜像是否下载成功
输入命令: docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
mysql 5.7 fdb9c2185fc2 9 days ago 321.9 MB
csphere/csphere 0.11.2 6d983828b938 8 weeks ago 112 MB
3、然后启动我们的mysql的docker容器,命令如下:
输入命令: docker run --name db001 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
注意,这里的容器名字叫:db001,mysql的root用户密码是:123456,映射宿主机子的端口3306到容器的端口3306,
仓库名mysql和标签(tag)唯一确定了要指定的镜像,其实如果这里只有一个mysql也有必要要tag,执行该命令返回的结果是:
a40c6e58afbda0199111a2a2ef0af7e8dd9be057a610ca5f4f30aa782a5d9155
4、查看已经运行的的所有容器,输入命令: docker ps
返回的结果是:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a40c6e58afbd mysql:5.7 "/entrypoint.sh mysq 12 seconds ago Up 12 seconds 0.0.0.0:3306->3306/tcp db001
参考网址:https://blog.csdn.net/kingmax54212008/article/details/80290263
################################################################################docker端口映射#####################################################################################################
docker指令:docker run -p IP:hostPort:containerPort redis
IP表示主机的IP地址。
hostPort表示宿主机的端口。
containerPort表示虚拟机的端口。
举例: docker run --name db001 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
参考网址: https://blog.csdn.net/chengxuyuanyonghu/article/details/76630617
参考网址: http://www.runoob.com/docker/docker-container-connection.html
################################################################################docker镜像如何导出################################################################################################
1、查看本机已有的容器的id
输入命令: docker ps -a
看到输出: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a40c6e58afbd mysql:5.7 "/entrypoint.sh mysq 12 seconds ago Up 12 seconds 0.0.0.0:3306->3306/tcp db001
2、我们使用容器的名称为 db001,现在要将这个容器保存为一个文件 db001.tar
输入命令: docker export db001 > /home/db001.tar
3、导出完成后,就可以使用 import 导入了
输入命令: docker import - /home/db001.tar
参考网址:https://blog.csdn.net/chen20111/article/details/78301342
################################################################################docker常用命令#####################################################################################################
1、重启服务:service docker restart
2、停止服务:service docker stop
3、创建一个容器:docker run -it -v /docker_test:/yufei --name yufei_6 centos
-i:允许我们对容器内的 (STDIN) 进行交互
-t:在新容器内指定一个伪终端或终端
-v:是挂在宿机目录, /docker_test是宿机目录,/yufei是当前docker容器的目录,宿机目录必须是绝对的。
--name:是给容器起一个名字,可省略,省略的话docker会随机产生一个名字
4、docker启动的容器列表:docker ps
5、查看docker创建的所有容器:docker ps -a
6、启动、停止、重启某个docker 容器
docker start yufei_01
docker stop yufei_01
docker restart yufei_01
7、查看指定容器的日志记录
8、停止所有容器
docker stop $(docker ps -a -q) // stop
9、删除所有容器
docker rm $(docker ps -a -q) // remove
参考网址: https://blog.csdn.net/yufei_java/article/details/78739667
=======================================常用命令=======================================
docker images #查看镜像
docker ps 或者 docker ps -a #查看运行的进程
docker exec -it test bash #进入某个启动的镜像
docker run -i -t -v /root/:/mnt/ --privileged=true --name hztest 4cbf48630b46 #启动某个镜像并命名
docker stop hztest #终止某个镜像
docker rm hztest #删除某个镜像