Docker学习
Docker学习
Docker 是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。
在容器技术之前,我们要实现虚拟化,都是使用虚拟机。虚拟机技术的代表,是VMWare。
虚拟机属于虚拟化技术。而Docker这样的容器技术,也是虚拟化技术,属于轻量级的虚拟化。
2、Docker的基本组成
3、Centos安装Docker
#1、需要的安装包
yum install -y yum-utils
#2、设置镜像的仓库
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#3、安装docker docker-ce社区版 ee企业版
yum install docker-ce docker-ce-cli containerd.io
#4、启动docker
systemctl start docker
#5、测试是否安装成功
docker version
或者 docker -v
#6、配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://cgddhq3x.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
4、Docker的基础操作命令
#搜索镜像
docker search mysql
#拉取镜像
docker pull mysql:5.7
#查看镜像
docker images
#删除镜像
docker rmi <镜像名称>
#查看所有容器
docker ps -a
#启动mySQL容器 -i:创建容器 -d:守护运行 -p:端口映射 -d表示后台运行并开启bash命令, --name表示自定义的容器名称,-p 3307:3306表示将宿主机的3307端口映射到我们的容器中的3306端口,-e MYSQL_ROOT_PASSWORD=root设置root登录的密码,mysql:8表示镜像名:版本号。
docker run -itd --name dockerMysql01 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=aaAA1234 mysql:5.7
#进入容器
docker exec -it dockerMysql01 bash
#停止一个容器
docker stop <容器id>
#启动一个已停止的容器
docker start <容器id>
#导出容器
docker export 容器id > ubuntu.tar
#删除一个容器
docker rm -f <容器id>
#构建一个基础镜像
docker build -t divmyimg01 .
#启动构建的这个镜像
docker run -d -p 9001:80 --name dockerOa01 divmyimg01
#修改MySQL字符集为utf8
#进入容器后安装vim
apt-get update
apt-get install vim
#在vi /etc/mysql/mysql.conf.d/mysqld.cnf
文件下加上以下文本
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
lower_case_table_names=1
#查看容器启动日志
docker logs -f [自定义镜像名称]