Docker安装学习

Docker

Docker安装

1.卸载

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.安装

#安装docker依赖
sudo yum install -y yum-utils
#设置安装地址
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
#安装docker(docker的引擎、操作docker的客户端、docker容器)
sudo yum install docker-ce docker-ce-cli containerd.io

3.检查安装

docker -v

4.设置开机启动

sudo systemctl enable docker

5.配置镜像下载地址

1.创建文件
sudo mkdir -p /etc/docker
2.配置地址
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://kru7klna.mirror.aliyuncs.com"]
}
EOF

6.重启docker线程

sudo systemctl daemon-reload

7.重启docker

sudo systemctl restart docker

Docker基础命令

启动

systemctl restart docker

查看镜像

sudo docker images

拉取镜像

docker pull 镜像名

打包自定义容器

docker build -t 容器名 .

启动容器

docker run -p 6379:6379 --name 容器名(mysql)

查看进程

docker ps

关闭容器

docker stop 容器名称

删除容器

docker rm 容器名(redis)

重启容器

docker restart 容器名

Mysql安装

1.拉取

sudo docker pull mysql:5.7

2.查看拉取成功

sudo docker images

3.启动MySQL

# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
 
sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

4.查看是否运行

sudo docker ps

5.本地测试链接

6.修改配置

cd /mydata/mysql/conf
sudo vi my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

7.重启MySQL

sudo docker restart mysql

Redis安装

1.拉取

docker pull redis

2.检查

docker images

3.创建配置目录

mkdir -p /mydata/redis/conf

4.进入配置目录

cd /mydata/redis/conf

5.创建配置文件

touch redis.conf

6.启动

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

7.本地连接测试

Nginx安装

1.拉取

docker pull nginx

2.检查

docker images

3.创建挂载目录,创建配置文件目录

mkdir -p /home/nginx/{conf,log,html}

4.启动

docker run -d --name nginx -p 8800:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf/
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /usr/local/nginx/

5.创建Nginx容器并运行

# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx
# 删除正在运行的nginx容器
docker rm -f nginx

6.重新启动(自定映射端口)

docker run \
-p 80:80 \
--name poetry-web \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest

7.浏览器访问

8.注意:云服务器和防火墙都要打开

RabbitMQ安装

1.拉取

docker pull rabbitmq

2.查看

docker images

3.启动(-e 指定登录账号密码)(-p 指定端口)

docker run\
-e RABBITMQ_DEFAULT_USER=root\
-e RABBITMQ_DEFAULT_PASS=417403\
--name mq\
--hostname  mq01\
-p 15672:15672\
-p 5672:5672\
-d\
rabbitmq

4.开放服务器和防火墙端口

firewall-cmd --zone=public --add-port=15672/tcp --pernanent
firewall-cmd --zone=public --add-port=5672/tcp --pernanent

5.访问:15672

#如果无法访问,请尝试添加配置
#进入容器
docker exec -it myrabbitmq bash
#添加配置
rabbitmq-plugins enable rabbitmq_management

项目打包build

1.mvn package

2.自定义目录创建Dockerfile

FROM java:8
VOLUME /tmp
ADD poetry-0.0.1-SNAPSHOT.jar poetry-0.0.1-SNAPSHOT.jar
EXPOSE  8081
ENTRYPOINT java -jar /poetry-0.0.1-SNAPSHOT.jar

3.上传到自定义目录

4.在服务器build

						Dockerfile所在全路径
docker build -t poetry /myData/.

5.启动

docker run -p 8081:8081 --name 自定义容器 -d 容器id

复制文件到容器

docker cp fromFile  容器ID:toFile	
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值