docker安装应用整理
nginx安装:
docker run \ --name nginx \ --volume /var/data/nginx/nginx.conf:/etc/nginx/nginx.conf \ --volume /var/data/nginx/error.log:/var/log/nginx/error.log \ --volume /var/data/nginx/html:/usr/share/nginx/html --publish 80:80 \ --restart unless-stopped \ --detach \ nginx:stable
mysql安装
1.安装软件
docker run \ --name mysql \ --publish 3306:3306 \ --volume /var/data/mysql/mysql:/var/lib/mysql \ --env MYSQL_DATABASE="wumei-smart" \ --env MYSQL_USER="root" \ --env MYSQL_ROOT_PASSWORD="wumei-smart" \ --restart always \ --detach \ mysql:5.7 \ --character-set-server=utf8 \ --collation-server=utf8_unicode_ci 2.进入容器 docker exec -it containId /bin/bash 3.修改配置文件,设置编码 tee /etc/mysql/conf.d/mysql.cnf <<-'EOF' [client] default-character-set=utf8 [mysql] default-character-set=utf8 EOF # mysql容器时区设置 # vim /etc/mysql/mysql.conf.d 或者 vim /etc/mysql/my.cnf # 添加一行配置 default-time-zone = '+08:00'
redis安装
docker run \ --name redis \ --restart always \ --publish 6379:6379 \ --volume /var/data/redis/data:/data \
--detach \
redis \
--requirepass "123456" \
--appendonly yes
mongoDB安装
docker run \
--name mongo \
--env MONGO_INITDB_ROOT_USERNAME=root \
--env MONGO_INITDB_ROOT_PASSWORD=123456 \
--volume /var/data/mongodb:/data/db \
--publish 27017:27017 \
--restart unless-stopped \
--detach \
mongo:4.0
提示:mongodb使用时,先创建库,然后一定要在对应库中创建用户和角色,不然创建的用户连接不上对应数据库。
创建用户并分配角色命令
db.createUser(
{
user : "kwswitch",
pwd : "123456",
roles: [ { role : "dbOwner", db : "kwswitch" } ]
}
)
mosquitto安装
1.安装软件 docker run \ --name mosquitto \ --privileged \ --publish 1883:1883 \ --publish 9001:9001 \
--volume /var/data/mosquitto/data:/mosquitto/data \ --volume /var/data/mosquitto/log:/mosquitto/log \ --restart always \ --detach \ eclipse-mosquitto 2.进入容器:docker exec -it name sh 3.编辑配置文件:vi /mosquitto/config/mosquitto.conf # 关闭匿名模式 allow_anonymous false # 指定密码文件 password_file /mosquitto/config/pwfile.conf 4.生成密码: #使用mosquitto_passwd命令创建用户,第一个admin是用户名,第二个admin是密码 mosquitto_passwd -b /mosquitto/config/pwfile.conf admin admin 5.退出容器使用并重启容器: #退出容器 exit #重启容器 docker restart mosquitto
Emqx安装
docker run -detach \ --name emqx \ --publish 1883:1883 \ --publish 8085:8081 \ --publish 8083:8083 \ --publish 8883:8883 \ --publish 8084:8084 \ --publish 18083:18083 \ --restart always emqx/emqx:v4.0.0
mssql安装
docker run --detach \ --env 'ACCEPT_EULA=Y' \ --env 'SA_PASSWORD=admin' \ --publish 1433:1433 \ --restart unless-stopped \ microsoft/mssql-server-linux:2017-latest
Gitea安装
Gitea docker run \
--detach \ --name=gitea \ --publish 10022:22 \ --publish 7702:3000 \ --volume /var/data/gitea:/data \ --restart unless-stopped \ gitea/gitea:latest
registry仓库安装
docker run \
--detach \ --name registry \ --publish 5000:5000 \ --privileged = true \ --volume /var/data/registry:/var/lib/registry \ --restart unless-stopped \ registry
xfac-vnc(支持虚拟网络控制器的ubuntu镜像),windows中安装的
docker run
--detach ^ --rm ^ --name ubuntu-vnc ^ --publish 5901:5901 ^ --publish 6901:6901 ^ --env VNC_PW=7707 ^ --volume D:\Project:/headless/workspace/data ^ --restart unless-stopped ^ ubuntu-dev-vnc:1.0.0
java
# 服务器创建时区
vim /etc/timezone
# 内容如下
Asia/Shanghai
#java容器
docker run --detach \
--name java \
--publish 9666:9666 \
--volume /home/app.jar:/home/app.jar \
--volume /etc/timezone:/etc/timezone \
--volume /etc/localtime:/etc/localtime \
--env "TZ=Asia/Shanghai" \
--restart always java:8 java -jar /home/app.jar
docker镜像加速
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://f4j3yfty.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
注:linux命令中使用 \换行,windows命令中使用 ^换行。