Docker 容器技术
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
Docker容器技术
概念
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
组成部分
- dockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- DockerContainer容器
安装
- 环境准备
下载docker源
curl http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
安装
yum install -y yum-utils device-mapper-persistent-data lvm2
# 显示版本
yum list docker-ce.x86_64 --showduplicates | sort -r
yum install -y --setopt=obsoletes=0 \
docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
# 刷新配置
systemctl daemon-reload
# 重启
systemctl restart docker
MacOS Docker 安装
如果没有安装brew 首先先安装brew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
brew cask install docker
2.配置镜像加速
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://68rmyzg7.mirror.aliyuncs.com"]
}
EOF
systemctl restart docker
- 使用
pull 常用镜像
docker pull centos:6.9
docker pull centos:7.5.1804
docker pull nginx
# 查看本地镜像
docker images
# 启用镜像
docker exec -it mysql bash
安装mysql
# 拉取
docker pull mysql:5.7
# 运行容器
docker run -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:5.7
"""
--name mysql 创建的容器名称
-e MYSQL_ROOT_PASSWORD=root 使用root作为root账号的密码
-p 3306:3306 容器的3306端口映射到宿主机器
-d 后台运行容器
mysql:5.7 镜像名称
"""
# 进入mysql容器
docker exec -it mysql bash 或者 docker exec -it f653f4ae3f48 mysql -uroot -pxzwz0502
# 登录
mysql -u -p
修改mysql配置文件
# 找到要修改的镜像
docker ps
# 进入要修改的镜像
docker exec -it 容器ID /bin/bash
# 进入要修改的文件目录
cd /etc/mysql
# 修改配置文件
vi my.cnf
# 如果不安装vim在使用vim的时候会报找不到,在修改docker中mysql的配置文件,无法使用vi命令
apt-get update
apt-get install vim
# 如果要退出bash有2种操作:1)Ctrl + d 退出并停止容器;2)Ctrl + p + q 退出并在后台运行容器;
# 重启docker容器
docker restart 容器ID
连接mysql
# 进行授权报错
"""
Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50560, now running 50725. Please use mysql_upgrade to fix this error.
错误是由于你曾经升级过数据库,升级完后没有使用,mysql_upgrade升级数据结构造成的。
"""
mysql_upgrade -u root -p123456
# 进行授权
1、进入mysql
2、GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何远程主机都可以访问数据库
3、FLUSH PRIVILEGES; //需要输入次命令使修改生效
# 如果无法连接,考虑防火墙,比如阿里云需要进行设置防火墙规则
安装redis
# 安装
docker pull redis
# 运行容器
docker run -p 6379:6379 -v $PWD/data:/data -d redis redis-server --appendonly yes
"""
命令说明:
-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
-v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
"""
# 进入redis容器
docker exec -it CONTAINER_ID redis-cli
安装mongo
# 安装
docker pull mongo
# 运行容器
docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo
"""
-p 27017:27017 :将容器的27017 端口映射到主机的27017 端口
-v $PWD/db:/data/db :将主机中当前目录下的db挂载到容器的/data/db,作为mongo数据存储目录
"""
# 运行mongo
docker run -it mongo mongo --host IP
删除images
# 删除images需要images和container都删除
"""
images很好理解,跟平常使用的虚拟机的镜像一个意思,相当于一个模版,而container则是images运行时的的状态。
docker对于运行过的image都保留一个状态(container),可以使用命令docker ps来查看正在运行的container,对于已经退出的container,则可以使用docker ps -a来查看。
"""
# 删除container
docker rm ID
# 删除images
docker rmi ID
如果在运行需要通过stop停止
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献2条内容
所有评论(0)