目录
这里我使用的是腾讯云,linux是CentOS7.6 自带docker版本
安装mysql
拉取镜像
docker pull mysql:5.7
创建容器。
docker run -p 3306:3306 --name mysql -v /home/docker/mysql/conf:/etc/mysql/conf.d -v /home/docker/mysql/logs:/var/log/mysql -v /home/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysql@123 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
-p
:代表端口映射,格式为 宿主机映射端口:容器运行端口。-e
:代表添加环境变量MYSQL_ROOT_PASSWORD
是 root 用户的登陆密码。
连接服务器上的mysql
docker ps 查看容器
安装Nginx
拉取镜像
docker pull nginx
创建 Nginx 容器
docker run -di --name nginx -p 80:80 nginx
将容器内的配置文件拷贝到指定目录(需要先提前创建好目录)
# 创建目录
mkdir -p /mydata/docker_nginx
# 将容器内的配置文件拷贝到指定目录
docker cp nginx:/etc/nginx /mydata/docker_nginx/
重命名宿主机 /mydata/docker_nginx/nginx
为 /mydata/docker_nginx/conf
mv /mydata/docker_nginx/nginx/ /mydata/docker_nginx/conf
终止并删除容器(目录挂载操作只能在创建容器时设置)
docker stop nginx
docker rm nginx
创建 Nginx 容器,并将容器中的 /etc/nginx
目录和宿主机的 /mydata/docker_nginx/conf
目录进行挂载
docker run -di --name nginx -p 80:80 -v /mydata/docker_nginx/conf:/etc/nginx nginx
访问宿主机:http://主机ip/ 结果如下:
安装Redis
拉取镜像
docker pull redis
创建容器
##无密码模式
sudo docker run -d --privileged=true --restart=always -p 6379:6379 -v /mnt/data/redis/redis.conf:/etc/redis/redis.conf -v /mnt/data/redis/data:/data --name redis redis redis-server /etc/redis/redis.conf
## 开启redis AOF 模式,设置认证密码
sudo docker run -d --privileged=true --restart=always -p 6379:6379 -v /mnt/data/redis/redis.conf:/etc/redis/redis.conf -v /mnt/data/redis/data:/data --name redis redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass "mypassword"
## 一般咋不开启AOF模式,使用默认的rdb
sudo docker run -d --privileged=true --restart=always -p 6379:6379 -v /mnt/data/redis/redis.conf:/etc/redis/redis.conf -v /mnt/data/redis/data:/data --name redis redis redis-server /etc/redis/redis.conf --requirepass "mypassword"
连接容器中的 Redis 时,只需要连接宿主机的 IP + 指定的映射端口即可。
安装MongoDB
拉取镜像
docker pull mongo
创建容器
docker run -di --name mongo -p 27017:27017 mongo
连接容器中的 MongoDB 时,只需要连接宿主机的 IP + 指定的映射端口即可。
安装Tomcat
拉取镜像
docker pull tomcat
创建容器
docker run -di --name tomcat -p 8080:8080 tomcat
进入容器
docker exec -it tomcat /bin/bash
查看 webapps
目录下是否有 ROOT
项目,我们熟悉的 Tomcat 猫页面一般就在这个项目中。
可以通过命令进入到webapps中,可以看到该目录下空空如也,其实 Tomcat 在比较新的版本中将默认的 ROOT
项目放在了 webapps.dist
中了
如果你真想访问 http://主机ip:8080/ 看到 Tomcat 猫,将其复制至 webapps
即可。
# 进入tomcat容器
[root@VM-4-10-centos ~]# docker exec -it tomcat /bin/bash
root@c91f9b701476:/usr/local/tomcat# ls
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs native-jni-lib NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps webapps.dist work
root@c91f9b701476:/usr/local/tomcat# cd webapps
root@c91f9b701476:/usr/local/tomcat/webapps# ls
root@c91f9b701476:/usr/local/tomcat/webapps# cd ..
root@c91f9b701476:/usr/local/tomcat# cd webapps.dist/
root@c91f9b701476:/usr/local/tomcat/webapps.dist# ls
docs examples host-manager manager ROOT
# 复制root到webapps文件夹命令行
root@c91f9b701476:/usr/local/tomcat/webapps.dist# cp -rf ROOT/ /usr/local/tomcat/webapps
安装minio
拉取镜像
docker pull minio/minio
创建目录:一个用来存放配置,一个用来存储上传文件的目录。
mkdir -p /home/minio/config
mkdir -p /home/minio/data
生成minio容器
使用默认生成账户与密码:默认账户与密码:minioadmin minioadmin
9090端口指的是minio的客户端端口
MINIO_ACCESS_KEY :账号
MINIO_SECRET_KEY :密码(账号长度必须大于等于5,密码长度必须大于等于8位)
docker run -p 9000:9000 -p 9090:9090 \
--net=host \
--name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /home/minio/data:/data \
-v /home/minio/config:/root/.minio \
minio/minio server \
/data --console-address ":9090" -address ":9000"
访问http://ip:9090就可以进入控制面板了
一些linux 和 docker的常用命令:
退出容器 CTRL+D
linux修改配置文件vim xxx.conf
保存并退出shift+zz
查看所有docker下载的镜像docker images
删除docker镜像docker rmi 镜像名或镜像id
删除容器docker rm -f 容器id
重启所有docker容器docker restart $(docker ps -a -q)
重启所有运行中的容器 docker restart $(docker ps -q)
查看运行中的docker容器docker ps
先这么多,之后再补充。。。。。