Docker安装常见应用的命令

Docker

  1. 安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  1. 配置docker守护进程,daemon的主要功能包括镜像管理、镜像构建、REST API、身份验证、安全、核心网络以及编排。
    命令:vim /etc/docker/daemon.json
{
 "registry-mirrors" : [
   "https://mirror.ccs.tencentyun.com",
   "http://registry.docker-cn.com",
   "http://docker.mirrors.ustc.edu.cn",
   "http://hub-mirror.c.163.com"
 ],
 "insecure-registries" : [
   "registry.docker-cn.com",
   "docker.mirrors.ustc.edu.cn"
 ],
 "debug" : true,
 "experimental" : true
}
  1. 重新加载 systemctl daemon-reload
  2. 启动或关闭 systemctl restart docker 或者 service docker restart (关闭即为stop)
  3. 查看详情 docker version 或者 docker info
  4. 注意:
有一个docker.socket单元文件  docker.socket这是用于套接字激活。意味着:如果你试图连接到docker socket,而docker服务没有运行,系统将自动启动docker。

解决方案一

你可以删除 /lib/systemd/system/docker.socket
从docker中 docker.service 文件 删除 fd://,即remove -H fd://

解决方案二

如果不想被访问时自动启动服务
输入命令:sudo systemctl stop docker.socket

Mysql

1 DB_HOME=/data/mysql
2 docker run -d  
--restart unless-stopped  
--name mysql -p 3306:3306 
-v $DB_HOME/data:/var/lib/mysql 
-v $DB_HOME/logs:/var/log/mysql 
-v $DB_HOME/conf:/etc/mysql/conf.d  
-e MYSQL_ROOT_PASSWORD=[my_password] mysql:[tag] 
--lower_case_table_names=1 

命令解读:

这是两行代码。

DB_HOME:shell语法。用来定义一个临时变量。用于替换 $DB_HOME

docker run 利用镜像创建一个容器

--name mysql:容器名字是mysql

-p 3306:3306:分配的端口是3306
 
-v $DB_HOME/data:/var/lib/mysql:挂载一个数据存放路径
-v $DB_HOME/logs:/var/log/mysql:挂载一个日志存放路径
-v $DB_HOME/conf:/etc/mysql/conf.d:挂载一个配置文件存放路径
 
MYSQL_ROOT_PASSWORD=[my_password]:后面用密码替换[my_password]
mysql:[tag]:用版本号替换[tag]

lower_case_table_names=0:表名存储为给定的大小和比较是区分大小写的
lower_case_table_names = 1:表名存储在磁盘是小写的,
							但是比较的时候是不区分大小写
lower_case_table_names=2:表名存储为给定的大小写
							但是比较的时候是小写的
unix,linux下lower_case_table_names默认值为 0 .
Windows下默认值是 1 . Mac OS X下默认值是 2

由于mysql8 在linux上默认的的lower_case_table_names模式为0,
且初始化后无法修改,因此,此处将其配置在初始化的参数中。

设置sql_mode,以兼容习惯性的Group By写法
  - 在$DB_HOME/conf:/etc/mysql/conf.d目录下创建一个my.cnf文件,
  - 文件内容参考如下
  - 
[mysqld]
sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,
NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION'

Redis

docker run -p 6379:6379 
--name redis 
-v /data/redis/redis.conf:/etc/redis/redis.conf  
-v /data/redis/data:/data 
-d redis redis-server 
/etc/redis/redis.conf --appendonly yes

–appendonly yes 开启aof

DockerFile

vi Dockerfile

FROM java:8
ADD xxx.jar xxx.jar
ENTRYPOINT ["java","-jar","xxx.jar"]

docker build -t myservice .
解读:

-t (tag) 构建的镜像名称  . 当前目录的Dockerfile
docker run -d -p 8080:8080 --name myservice myservice 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值