文章目录
一、Docker的虚拟机安装
1、完成虚拟机的更新
详见我的文章。
2、完成Docker安装
yum list installed|grepdocker# 检查是否有docker旧版本,有则删除
yum -yinstall yum-utils # 安装Docker的安装工具
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all
yum makecache # 再进行一次更新
yum -yinstall docker-ce docker-ce-cli containerd.io
systemctl start docker# 尝试启动docker
systemctl isactive docker# 检查docker是否被成功启用
3、配置镜像加速器
打开阿里云镜像服务,登录自己的阿里云账号。
根据操作文档继续进行配置,注意需要将自己的镜像加速器的特有地址写在
daemon.json
中。
注意,此处一定要按照标准json格式书写配置,否则可能会导致报错。
mkdir-p /etc/docker
vim /etc/docker/daemon.json
-------------------------------------------------------------
{"registry-mirrors":["https://7ce69edu.mirror.aliyuncs.com"# 可以添加其他的镜像源地址]}
-------------------------------------------------------------
systemctl daemon-reload
systemctl restart docker
二、Docker常用命令
docker search name:edition # 查找安装资源# docker search mysql 查找mysql的安装资源docker images # 查找已下载的镜像docker pull name edition # 下载镜像(如果没有指定版本,默认下载最新稳定版本)# docker pull mysql docker run \# 根据镜像安装容器--name mysql8 \--restart=always \--privileged=true \-eMYSQL_ROOT_PASSWORD='abc'\# 指定Docker容器中Mysql服务的密码-p3308:3306 \# 端口映射-v /opt/software/mysql_docker_3308:/mysql_share \# 共享目录-d 3218b38490ce # 运行的镜像的IDdockerps# 查找正在运行的容器dockerps-a# 查找所有历史容器dockerexec-it 3d234d76f0bd /bin/bash # 进入指定docker容器exit# 从容器回到虚拟机docker container stop CONTAINER_ID # 关闭指定容器
在最后根据镜像安装容器时,
-d
后的内容必须与docker所安装的Mysql的镜像的
IMAGE ID
一致
在进入容器时,
exec -it
后面的内容必须与docker容器的
CONTAINER_ID
一致
三、Docker的容器创建
此处以创建Mysql容器为例
docker search mysql
docker pull mysql
docker images
# 记录镜像的IMAGE_IDdocker run \--name mysql8 \--restart=always \--privileged=true \-eMYSQL_ROOT_PASSWORD='abc'\-p3308:3306 \-v /opt/software/mysql_docker_3308:/mysql_share \-d IMAGE_ID# 填写镜像的IMAGE_IDdockerps# 记录容器的CONTAINER_IDdockerexec-it CONTAINER_ID /bin/bash # 填写容器的CONTAINER_ID
mysql -u root -pabc# 尝试登陆mysql,检查功能
四、理解虚拟机中的Docker容器
- 目录映射:虚拟机和Docker容器之间存在一个共享目录,当文件进入虚拟机内的目录后,会同步到Docker容器中的目录。
- 端口映射:
命令为:
docker run -p<宿主机端口>:<容器内部服务端口> image_name
在设定端口的时候,应该先通过该命令确定端口是否被占用:
netstat-ltnp|grep PORT
对于像在Github爬取项目的场景,可以选择1024以上的非常用端口,只要检查后未实际占用端口即可。
版权归原作者 Byyyi耀 所有, 如有侵权,请联系我们删除。