谷粒商城笔记一docker
Posted 今夜月色很美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谷粒商城笔记一docker相关的知识,希望对你有一定的参考价值。
docker启动环境
docker安装
# 安装所需的软件包
sudo yum install -y yum-utils \\
device-mapper-persistent-data \\
lvm2
# 告知linux使用国内源安装docker
sudo yum-config-manager \\
--add-repo \\
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装Docker
sudo yum install docker-ce docker-ce-cli containerd.io
# 设置开机启动docker
sudo systemctl enable docker
Start Docker
sudo systemctl start docker
配置阿里云镜像加速
在左侧菜单栏找到"产品与服务"->"容器镜像服务",找到"镜像加速器",
选择对应的操作系统,复制配置镜像加速器中的命令在shell中执行,完成镜像加速配置。
常用命令
批量删除镜像
docker rmi -f $(docker images -q)
新建容器并启动
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# 参数说明
-d 后台运行,类似nohup
-it 交互方式运行
docker start 容器name:启动上个命令下列出的容器
显示容器列表
docker ps -a显示所有的容器,包括未运行的
docker ps显示运行的所有容器
docker ps --no-trunc显示完整输出,不截断输出
容器退出
exit # 容器停止并退出
ctrl+p+q # 容器不停止退出
删除所有容器
docker rm -f $(docker ps -aq)
docker ps -aq|xargs docker rm -f
查看容器内进程信息
docker top 查看容器进程信息
进入正在运行的容器
docker exec -it 25014cd2d367 /bin/bash
docker attach 25014cd2d367
查看容器日志
docker logs --tail="400" es查看es日志,或者docker logs -f es,或者docker logs (container id)
查看镜像/容器的元数据
docker inspect mysql:5.6
docker inspect 78dccda07c84
容器与宿主机之间进行文件拷贝
镜像下载/推送命令
下载镜像
docker pull xxx/xx/xxx:1.0
docker save xxx/xx/xxx -o ubuntu.tar
将镜像推送到远程仓库
docker load -i xxx.tar
docker push xxx/xx/xxx:1.1
修改镜像标签
docker tag xxx/xx/xxx:1.0 xxx/xx/xxx:1.1
根据Dockerfile构建镜像
docker build -t ubuntu:05.20
遇到问题
# 使用docker部署nginx的时候发生了问题
docker run -d nginx --name nginx01 -p 3000:80运行后容器Exited
docker run -d --name nginx01 -p 3000:80 nginx正常
# 查看docker run --help
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
可以发现第一条docker run -d语句是在nginx后面添加添加的options,不符合命令定义的顺序要求
docker安装mysql
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name=mysql01 mysql:5.7
在主机/home/mysql/conf目录下执行vim 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
执行docker restart mysql01完成mysql配置
配置自动启动
docker update mysql01 --restart=always
docker安装redis
mkdir -p /home/redis/conf
touch /home/redis/conf/redis.conf
docker run -p 6379:6379 --name redis -v /home/redis/data:/data \\
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf \\
-d redis redis-server /etc/redis/redis.conf
进入容器的时候直接连接redis:
docker exec -it redis redis-cli
在redis.conf文件中添加AOF持久化配置
appendonly yes
配置自动启动
docker update redis --restart=always
以上是关于谷粒商城笔记一docker的主要内容,如果未能解决你的问题,请参考以下文章