Docker镜像命令
获取镜像:
docker pull 镜像名称:版本号
镜像列表:
docker images docker image ls
删除镜像:
docker rmi 镜像ID
镜像保存:
docker save 镜像名称(搭建私有镜像仓库)
Docker容器命令
运行容器
docker run tomcat 可以直接运行tomcat,但是会强占命令框
后台新增运行容器
docker run -d --name tomcat-8080 -p 8080:8080 tomcat (--name后面是指定容器的别名;-p后面是容器端口号:系统端口号;)
docker run -d --name tomcat-8080 -p 8080:8080 --rm tomcat (--name后面是指定容器的别名;-p后面是容器端口号:系统端口号;)这里加上--rm 参数后,当docker容易停止运行则会自动删除容器
开启运行容器
docker start ec3d30bff042 (ec3d30bff042为容器id)
docker start tomcat-8080 (tomcat-8080为容器别名)
停止所有容器运行
docker stop $(docker ps -a -q)
停止指定容器
docker stop ec3d30bff042 (ec3d30bff042为容器id)
docker stop tomcat-8080 (tomcat-8080为容器别名)
删除容器(删除容器前,容器应该是停止状态)
docker rm ec3d30bff042 (ec3d30bff042为容器id)
查看容器
docker ps -a
进入Docker容器内部
Docker容器运行起来以后,要想进入容器内部可以先通过docker ps命令查看,当前运行的容器信息
再通过 docker exec -it ec3d30bff042 命令,其中ec3d30bff042为容器ID
eg:docker exec -it ec3d30bff042 /bin/bash
宿主机与docker内部之间的文件拷贝
从宿主机拷贝文件到docker内部
docker cp /usr/local/1.jpg 980ed1747a96:/usr/local/tomcat/webapps/ROOT/
将宿主机的图片/usr/local/1.jpg,拷贝到容器id为 980ed1747a96 的 目录/usr/local/tomcat/webapps/ROOT/
容器id也可以替换成容器名
从docker内部拷贝文件到宿主机
docker cp 980ed1747a96:/usr/local/tomcat/webapps/ROOT/1.jpg /usr/local/
操作方式与上面的类似,把宿主机文件目录与docker内部文件位置对调即可
查看docker日志
docker logs -f -t --since=2022-08-30 --tail=20 90
-f:查看实时日志
-t:查看日志产生的日期
-tail=20:查看最后的20条日志
90:容器id/名称
设置docker数据卷
有时候数据在docker内部容器中,如果容器删除则数据就没有了,所以可以将数据放在宿主机中,让docker对其进行映射,这样docker容器删除,数据都会在宿主机中
docker run -d --name tomcat-8084 -p 8084:8080 -v /usr/local/docker-volumn/test/:/usr/local/tomcat/webapps/test tomcat
-v与:之间的内容就是宿主机的存放的对应位置 /usr/local/docker-volumn/test/
:与tomcat之间的内容则是容器内部的对应位置 /usr/local/tomcat/webapps/test tomcat
Docker安装nginx
获取nginx镜像
docker pull nginx
将nginx的配置文件映射到宿主机
docker run -d -p 80:80 --name nginx-8080 -v /usr/local/docker/nginx/html/:/usr/share/nginx/html -v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/docker/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /usr/local/docker/nginx/logs:/var/log/nginx nginx
Docker安装mysql5.X
下载镜像
docker pull mysql:5.6
创建并启动MySQL容器
docker run -d --name mysql5.6-3306 -p 3306:3306 -e MYSQL_ROOT_PASSWORD='root' mysql:5.6
mysql5.6-3306 为 设置的容器名
MYSQL_ROOT_PASSWORD 为 root用户的密码
访问测试 进入到容器内部
docker exec -it mysql5.6-3306 bash
连接mysql数据库:
mysql -u root -p
接下来输入root密码 即可进入
授权其他机器登陆
1、授权主机访问:
MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
2、刷新权限:
MySQL>FLUSH PRIVILEGES;
3、退出:
MySQL>EXIT;
再把防火墙3306端口打开,这样用navicat工具就可以远程连接数据库了