docker pull 镜像名称:版本号
docker images docker image ls
docker rmi 镜像ID
docker save 镜像名称(搭建私有镜像仓库)
运行容器
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 ps命令查看,当前运行的容器信息
再通过 docker exec -it ec3d30bff042 命令,其中ec3d30bff042为容器ID
eg:docker exec -it ec3d30bff042 /bin/bash
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 cp 980ed1747a96:/usr/local/tomcat/webapps/ROOT/1.jpg /usr/local/
操作方式与上面的类似,把宿主机文件目录与docker内部文件位置对调即可
docker logs -f -t --since=2022-08-30 --tail=20 90
-f:查看实时日志
-t:查看日志产生的日期
-tail=20:查看最后的20条日志
90:容器id/名称
有时候数据在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 pull 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 pull mysql:5.6
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 -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工具就可以远程连接数据库了