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命令中使用 ^换行。

 

posted @ 2020-03-17 01:38  kerwin cui  阅读(397)  评论(0编辑  收藏  举报