个人专题目录
Docker常用安装
1. 总体步骤
搜索镜像
拉取镜像
查看镜像
启动镜像
停止容器
移除容器
2. 安装tomcat
#docker hub上面查找tomcat镜像
docker search tomcat
#从docker hub上拉取tomcat镜像到本地
docker pull tomcat
#docker images查看是否有拉取到的tomcat
docker images
# 在/root目录下创建tomcat目录用于存储tomcat数据信息
mkdir ~/tomcat
cd ~/tomcat
#使用tomcat镜像创建容器(也叫运行镜像)
docker run -it --name=c_tomcat \
-p 8080:8080 \
-v $PWD:/usr/local/tomcat/webapps \
tomcat
或者简单一点 docker run -it -p 8080:8080 tomcat
-p 主机端口:docker容器端口
-P 随机分配端口
i:交互
t:终端
-v $PWD:/usr/local/tomcat/webapps:将主机中当前目录挂载到容器的webapps
3. 安装mysql
#docker hub上面查找mysql镜像
docker search mysql
#从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.6
docker pull mysql:5.6
#使用mysql5.6镜像创建容器(也叫运行镜像)
docker run -p 12345:3306
--name mysql
-v /zzyyuse/mysql/conf:/etc/mysql/conf.d
-v /zzyyuse/mysql/logs:/logs
-v /zzyyuse/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-d mysql:5.6
#进入容器,操作mysql
docker exec –it c_mysql /bin/bash
命令说明:
-p 12345:3306:将主机的12345端口映射到docker容器的3306端口。
--name mysql:运行服务名字
-v /zzyyuse/mysql/conf:/etc/mysql/conf.d :将主机/zzyyuse/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d -v /zzyyuse/mysql/logs:/logs:将主机/zzyyuse/mysql目录下的 logs 目录挂载到容器的 /logs。
-v /zzyyuse/mysql/data:/var/lib/mysql :将主机/zzyyuse/mysql目录下的data目录挂载到容器的 /var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
-d mysql:5.6 : 后台程序运行mysql5.6
docker exec -it MySQL运行成功后的容器ID /bin/bash
mysql -uroot -p
外部Win10也来连接运行在dokcer上的mysql服务
数据备份小测试
docker exec myql服务容器ID sh -c ' exec mysqldump --all-databases -uroot -p"123456" ' > /zzyyuse/all-databases.sql
4. 安装redis
从docker hub上(阿里云加速器)拉取redis镜像到本地标签为3.2
#从docker hub上(阿里云加速器)拉取redis镜像到本地标签为3.2
docker pull redis:3.2
#使用redis3.2镜像创建容器(也叫运行镜像)
docker run -p 6379:6379
-v /zzyyuse/myredis/data:/data
-v /zzyyuse/myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf
-d redis:3.2 redis-server /usr/local/etc/redis/redis.conf
--appendonly yes
#使用外部机器连接redis
./redis-cli.exe -h 192.168.xxx.xxx -p 6379
在主机/zzyyuse/myredis/conf/redis.conf目录下新建redis.conf文件 vim /zzyyuse/myredis/conf/redis.conf/redis.conf
测试redis-cli连接上来
docker exec -it 运行着Rediis服务的容器ID redis-cli
set k1 v1
get k1
测试持久化文件生成
SHOTDOWN
pwd
/zzyyuse/myredis/data
ls -l
5. 安装nginx
从docker hub上(阿里云加速器)拉取redis镜像到本地标签为3.2
#从docker hub上(阿里云加速器)搜索nginx镜像
docker search nginx
#拉取nginx镜像
docker pull nginx
#创建容器,设置端口映射、目录映射
# 在/root目录下创建nginx目录用于存储nginx数据信息
mkdir ~/nginx
cd ~/nginx
mkdir conf
cd conf
# 在~/nginx/conf/下创建nginx.conf文件,粘贴下面内容
vim nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
docker run -id --name=c_nginx \
-p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/logs:/var/log/nginx \
-v $PWD/html:/usr/share/nginx/html \
nginx
参数说明:
- -p 80:80:将容器的 80端口映射到宿主机的 80 端口。
- -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机当前目录下的 /conf/nginx.conf 挂载到容器的 :/etc/nginx/nginx.conf。配置目录
- -v $PWD/logs:/var/log/nginx:将主机当前目录下的 logs 目录挂载到容器的/var/log/nginx。日志目录
6. 本地镜像发布到阿里云
前面的DockerFile
从容器创建一个新的镜像 docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]]
OPTIONS说明:
-a :提交的镜像作者;
-m :提交时的说明文字;
docker images mycentos
阿里云开发者平台:https://dev.aliyun.com/search.html
将镜像推送到registry
sudo docker login --username=registry.cn-hangzhou.aliyuncs.com
sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/zzyybuy/mycentos:[镜像版本号]
sudob docker push registry.cn-hangzhou.aliyuncs.com/zzyybuy/mycentos:[镜像版本号]
将阿里云上的镜像下载到本地
docker pull registry.cn-hangzhou.aliyuncs.com/zzyybuy/mycentos:1.4.1
网友评论