手把手教你如何使用Docker( 二 )


# 退出容器# 先进入容器后# 这里退出也相当于关闭容器了exit# 查看正在运行的容器docker ps# 查看所有容器docker ps -a# 创建容器并后台运行docker run -id --name=reis_test redis /bin/bash
# 后台运行容器后该怎么进入呢?docker exec -it 容器名 /bin/bash
# 关闭容器docker stop 容器名# 开启容器docker start 容器名# 删除容器docker rm 容器名# 删除所有容器【前提容器必须关闭】docker rm `docker ps -aq`# 查看容器信息docker inspect 容器名
七、数据卷
我们知道 , 一般有新技术出现 , 一定是为了解决旧技术解决不了的问题或者在某个方面比旧技术好 , 那我们就先来看看现在没用数据卷之前 , 有哪些问题
而上面的问题 , 数据卷都能解决 , 那问题来了 , 什么是数据卷?
数据卷就是宿主机中的一个目录或文件当容器目录和数据卷目录绑定后 , 对方的修改会立即同步一个数据卷可以被多个容器同时挂载一个容器也可以被挂载多个数据卷
配置数据卷
# 创建并运行容器——同时配置数据卷# 一个容器挂载一个目录docker run -it --name=c1 -v /root/data:/root/data_container redis /bin/bash# 一个容器可挂载多个目录docker run -it --name=c2 \-v /root/data1:/root/data_container1 \-v /root/data2:/root/data_container2 \redis /bin/bash# 多个容器同时挂载一个目录 , 实现多个容器间的同步docker run -it --name=c3 -v /root/data3:/root/data_container redis /bin/bash---------------------docker run -it --name=c4 -v /root/data3:/root/data_container redis /bin/bash
数据卷容器
数据卷小结
八、实战部署 部署mysql
部署
# 准备工作docker search tomcat # 可去hub.docker.com上选版本docker pull tomcatmkdir ~/tomcatcd ~/tomcat
# 开始部署tomcatdocker run -id --name=c_tomcat \-p 8080:8080 \-v $PWD:/usr/local/tomcat/webapps \tomcat
部署nginx
# 拉取nginx镜像docker pull nginx# 创建目录用于存储nginx数据信息mkdir ~/nginxcd ~/nginx# 在~/nginx/conf/下创建nginx.conf文件 , 粘贴如下内容mkdir confcd confvim nginx.conf
usernginx;worker_processes1;error_log/var/log/nginx/error.log warn;pid/var/run/nginx.pid;events {worker_connections1024;}http {include/etc/nginx/mime.types;default_typeapplication/octet-stream;log_formatmain'$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log/var/log/nginx/access.logmain;sendfileon;#tcp_nopushon;keepalive_timeout65;#gzipon;include /etc/nginx/conf.d/*.conf;}
部署redis
docker pull redisdocker run -it --name=redis_test -p 6379:6379 redis /bin/bash
九、 镜像原理
容器转为镜像
开发人员将容器转化为镜像 , 传输给测试人员 , 然后测试人员再将镜像还原为容器
# 容器转为镜像docker commit 容器id 镜像名称:版本号# 将镜像转化为压缩文件docker save -o 压缩文件名称 镜像名称版本号# 接收方接收压缩文件 , 将其还原为镜像docker load -i
概念
可以通过命令形式将某个jar包或其它文件转换为镜像 , 比如我们将一个项目打包为jar包 , 再通过将其转变为镜像 , 这样我们开发人员就能很好地将镜像通过传输给测试人员再将其变为容器运行