Docker安装及部署(Linux)
Docker的安装
1): yum 包更新到最新
sudo yum update
2): 安装软件包 yum-utils 提供 yum-config-manager 功能,另两个是 decicemapper 驱动依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3): 设置 yum 源为阿里云(默认源以后用起来会很慢的)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4): 安装 docker-ce ( -ce 社区版本)
sudo yum install docker-ce
5): 查看 docker 版本
docker -v
6): 设置 ustc 的镜像
vi /etc/docker/daemon.json #编辑文件 #社区版可能没有这些目录 mkdir 创建它们
# 加入以下内容
{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}
部署centos
- 从yum源拉取镜像
docker pull centos
- 创建一个新的容器并运行一个命令
sudo docker run --privileged --cap-add SYS_ADMIN
-e container=docker -it --name my_centos -p 80:8080
-d --restart=always centos /usr/sbin/init
--privileged 指定容器是否是特权容器。这里开启特权模式。
--cap-add SYS_ADMIN 添加系统的权限。不然,系统很多功能都用不了的。
-e container=docker 设置容器的类型。
-it 启动交互模式。
/usr/sbin/init 初始容器里的CENTOS
- 在运行的容器中执行命令
docker exec -it my_centos /bin/bash
部署mysql
# 拉取镜像
docker pull mysql
# 创建一个新的容器并运行一个命令
docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
# 在运行的容器中执行命令
docker exec -it mysql /bin/bash
# 以下是mysql中的操作,之前博文有讲
mysql -uroot
## 远程登录授权
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456' ;
flush privileges;
部署tomcat
# 拉取镜像
docker pull tomcat
# 创建一个新的容器并运行一个命令
docker run -di --name=mytomcat -p 80:8080 -v /home/zengxiaojie/webapps:/webs tomcat
# 在运行的容器中执行命令
docker exec -it mytomcat /bin/bash
关于docker的一些常用命令
Docker的启动与停止
启动:systemctl start docker
停止:systemctl stop docker
重启:systemctl restart docker
查看状态:systemctl status docker
设置开机自启:systemctl enable docker
查看概要信息:docker info
查看帮助文档:docker --help
Docker 常用命令
查看镜像:docker images #镜像在/var/lib/docker 目录下
搜索镜像:docker search 镜像名称
拉取镜像:docker pull 镜像名称
删除镜像:docker rmi 镜像ID
查看容器:docker ps /-a/-l/-f status=exited
创建与运行容器:docker run /-i/-t/--name/-v/-d/-p
停止与启动容器:docker stop 容器名称或ID / docker start 容器名称或ID
文件拷贝:docker cp 需要拷贝的文件或目录 容器名称:容器目录 / docker cp 容器名称:容器目录 需要拷贝的文件或目录
目录挂载:docker run -di -v /usr/local/.../myhtml --name=mycentos centos:7 --privileged=true #解决挂载的目录没有权限问题
查看容器IP地址:docker insoect 容器名称或ID
删除容器:docker rm 容器名称或ID
迁移与备份
容器保存为镜像:docker commit mynginx mynginx_i
镜像备份:docker save -o mynginx.tar mynginx_i
镜像恢复与迁移:docker load -i mynginx.tar
写在最后
欢迎留言私信讨论;
文章有知识性错误请立马联系博主,博主将非常感谢;
无需经过允许即可随意使用转载,知识本来就是被广泛用来学习的;
非常感谢您能看到此处,本文为博主学习笔记,如有不同见解,请不吝赐教。