准备工作:
安装环境:Win10 64位 需要开启Hyper-V
下载Docker for Windows 从官网的下面地址可以下载点击下载
安装方法:
1、先开启win10的Hyper-V
控制面板 -> 程序 -> 启用或关闭Windows功能 -> 选中Hyper-V。
完成后自动重启Win10系统。
2、安装Docker
用刚才下载的安装包安装,安装完成后,启动Docker。
如果没有开启Hyper-V,启动Docker的时候会提示开启Hyper-V
如果启动的时候,提示内存不足,启动失败,可以在setting设定中调节VM内存大小。
在cmd输入docker version
有输出则安装成功
起航
去 Docker Hub 上拉取一个叫 hello-world 的集装箱docker pull hello-world
然后让这个集装箱跑起来docker run hello-world
查看本机所安装的集装箱
docker images
查看当前运行的容器
docker ps
查看最新创建的容器,只列出最后创建的
docker ps -l
-n=x选项,会列出最后创建的x个容器
docker ps -n=2
查看正在运行的容器
docker ps -a
不能够删除一个正在运行的容器,会报错。需要先停止容器
docker rm [NAME]/[CONTAINER ID]
删除所有的容器
docker rm docker ps -a -q
删除所有的容器
docker rmi cae870735e91(镜像ID)
停止、启动、杀死一个容器
docker stop Name/ID
docker start Name/ID
docker kill Name/ID
交互式进入容器中
docker run -i -t image_name /bin/bash
在容器中安装新的程序
docker run image_name apt-get install -y app_name
流程图
Docker 的工作流程
附:运行MySQL
1. docker pull mysql:5.7
2. 使用阿里云https://dev.aliyun.com/search.html镜像加速
3. docker run --name mysql57 -p 3316:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
4. docker exec -it mysql57 bash
5. mysql -uroot -p123456进入mysql 命令行
6. ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 需要使用 mysql_native_password方式加密密码,重要一步,不然客户端连接不上。
7. 使用navicat客户连接
运行tomcat
下载下来官方的镜像
docker pull tomcat:8
运行
docker run --name tomcat8888 -p 8888:8080 tomcat:8
执行 查看容器comcat中的地址
docker exec -it 3cb492a27475 /bin/bash #中间那个是容器id(CONTAINER_ID)
把war包丢到宿主机 在丢到container里面丢到tomcat/webapps
docker cp ROOT.war 3cb492a27475:/usr/local/tomcat/webapps
启动tomcat 或者重启 docker restart 【容器id】
docker run -p 8081:8080 tomcat8888
docker restart tomcat8888
运行resis
下载镜像
docker pull redis:3.2
运行容器
docker run -p 6379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes
命令说明:
-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
-v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
连接、查看容器
使用redis镜像执行redis-cli命令连接到刚启动的容器,主机IP为172.17.0.1
ocker exec -it 43f7a65ec7f8 redis-cli
172.17.0.1:6379> info
# Server
redis_version:3.2.0
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:f449541256e7d446
redis_mode:standalone
os:Linux 4.2.0-16-generic x86_64
arch_bits:64
multiplexing_api:epoll
...