docker详细看这一篇就够了!(docker安装、docker卸载、docker拉取)

一、docker卸载

1、如果已经启动,请先停止docker服务,执行命令:

systemctl stop docker

2、查看yum安装的docker包,执行命令:

yum list installed |grep docker

有yum的doker包的话卸载,执行命令

yum -y remove docker.x86_64 docker-client.x86_64 docker-common.x86_64
 

3、查看docker的rpm包执行命令:

rpm -qa |grep docker

4、删除docker目录

rm -rf /var/lib/docker   (默认的目录)

二、安装docker

1、安装yum-utils

yum install -y yum-utils device-mapper-persistent-data lvm2

2、为yum源添加docker仓库位置

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

执行这个命令后,CentOS 系统会下载指定 URL 的 .repo 文件,并将其内容添加到 YUM 的仓库配置中。这样,系统就可以通过 YUM 工具从这个新的仓库中搜索、安装和更新 Docker CE 相关的软件包了。

添加了 Docker CE 的仓库之后,通常还需要运行以下命令来使更改生效并安装 Docker CE:

sudo yum makecache fast

sudo yum install docker-ce docker-ce-cli containerd.io

其中,makecache fast 命令用于更新 YUM 的缓存,以便它能获取到新添加仓库中的软件包信息。install 命令则用于安装 Docker CE 和相关的依赖包。

3、设置镜像源为阿里

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4、安装docker

yum -y install docker-ce

-y会在安装的时候系统提示你输入y/n来确认

5、设置开机自动启动

systemctl enable docker

6、启动docker

systemctl start docker

7、停止docker

systemctl stop docker

8、修改dockers镜像的存放位置

mv /var/lib/docker /data/docker

9、建立软连接

ln -s /data/docker /var/lib/docker

  • ln: 这是Linux中的链接命令,用于创建文件或目录的链接。
  • -s: 这是选项参数,表示创建的是软链接(symbolic link),也称为符号链接。软链接是一种特殊的文件,它包含了一个指向另一个文件或目录的路径名。
  • /data/docker: 这是源文件或目录的路径,也就是软链接所指向的目标。
  • /var/lib/docker: 这是在其中创建软链接的路径,也就是新的链接文件的位置。

所以,这个命令的作用是,在 /var/lib/docker 位置创建一个名为 docker 的软链接文件,该软链接指向 /data/docker。这意味着,当你通过 /var/lib/docker 访问时,实际上会访问到 /data/docker 下的内容。

这样做的常见原因可能是为了将 Docker 的数据存储目录从默认位置 /var/lib/docker 更改为 /data/docker,以满足特定的存储需求或者管理策略,而通过软链接,可以保持系统中其他依赖于 /var/lib/docker 路径的配置和工具无需修改就能继续正常工作。

三、docker 拉取命令

1、拉取java镜像

docker pull java

2、拉取sqlserver镜像

docker pull microsoft/mssql-server-linux # 拉取SqlServer镜像

docker run -p 1433:1433 --name mssql \ # run 运行容器 -p 将容器的1433端口映射到主机的1433端口 --name 容器运行的名字

--restart=always \ # 挂断自动重新启动

-v /data/sqlserver:/var/opt/mssql \ # 挂载mssql文件夹到主机

-e ACCEPT_EULA=Y \ # 同意协议

-e MSSQL_SA_PASSWORD=mssql-MSSQL \ # 初始化sa密码

-u root \ # 指定容器为root运行

-d microsoft/mssql-server-linux # -d 后台运行

3、拉取mysql镜像

docker pull mysql #拉取 MySql

docker run -p 3306:3306 --name mysql \ # run 运行容器 -p 将容器的3306端口映射到主机的3306端口 --name 容器运行的名字

--restart=always \ # 挂断自动重新启动

-v /etc/localtime:/etc/localtime \ # 将主机本地时间夹挂在到容器

-v /data/mysql/log:/var/log/mysql \ # 将日志文件夹挂载到主机

-v /data/mysql/data:/var/lib/mysql \ # 将数据文件夹挂载到主机

-v /data/mysql/mysql-files:/var/lib/mysql-files \ # 将数据文件夹挂载到主机

-v /data/mysql/conf:/etc/mysql \ # 将配置文件夹挂在到主机

-e MYSQL_ROOT_PASSWORD=xiujingmysql. \ # 初始化root用户的密码

-d mysql # -d 后台运行

docker exec -it mysql /bin/bash # 进入Docker容器内部的bash

4、拉取mongodb镜像

docker pull mongo #拉取 mongodb

docker run -p 27017:27017 --name mongo \ # run 运行容器 -p 将容器的27017端口映射到主机的27017端口 --name 容器运行的名字

--restart=always \ # 挂断自动重新启动

-v /etc/localtime:/etc/localtime \ # 将主机本地时间夹挂在到容器

-v /data/mongodb/db:/data/db \ # 将数据文件夹挂载到主机

-v /data/mongodb/configdb:/data/configdb \ # 将数据库配置文件挂载到主机

-v /data/mongodb/initdb:/docker-entrypoint-initdb.d # 通过/docker-entrypoint-initdb.d/将更复杂的用户设置显式留给用户 当容器首次启动时它会执行/docker-entrypoint-initdb.d 目录下的sh 和js脚本 。 以脚本字母顺序执行

-e MONGO_INITDB_ROOT_USERNAME=admin \ # 设置admin数据库账户名称 如果使用了此项,则不需要 --auth 参数

-e MONGO_INITDB_ROOT_PASSWORD=admin \ # 设置admin数据库账户密码 如果使用了此项,则不需要 --auth 参数 -d mongo \ #

-d 后台运行 --auth # --auth 需要密码才能访问容器服务

docker exec -it mongo mongo admin # 进入mongo

db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]}); #创建一个名为 admin,密码为 123456 的用户。

db.auth('admin', '123456') # 尝试使用上面创建的用户信息进行连接。

5、拉取redis镜像

docker pull redis #拉取 redis

docker run -p 6379:6379 --name redis \ # run 运行容器 -p 将容器的6379端口映射到主机的6379端口 --name 容器运行的名字

--restart=always \ # 挂断自动重新启动

-v /etc/localtime:/etc/localtime \ # 将主机本地时间夹挂在到容器

-v /data/redis:/data \ # 将数据文件夹挂载到主机

-d redis \ # -d 后台运行

redis-server --appendonly yes \ # 在容器执行redis-server启动命令,并打开redis持久化配置 --requirepass "123456" # 设置密码123456

6、拉取nginx镜像

docker pull nginx #拉取 nginx

docker run -p 80:80 -p 443:443 --name nginx -d nginx # 运行容器

docker container cp nginx:/etc/nginx /data/nginx/ #拷贝容器配置

docker rm -f nginx # 删除容器

7、拉取jenkins镜像

docker pull jenkins/jenkins:lts # 拉取 jenkins

docker run -p 8080:8080 -p 50000:50000 --name jenkins \ # run 运行容器 -p 将容器的8080,50000端口映射到主机的8080,50000端口 --name 容器运行的名字

--restart=always \ # 挂断自动重新启动

-u root \ # 运行的用户为root

-v /etc/localtime:/etc/localtime \ # 将主机本地时间夹挂在到容器

-v /data/jenkins_home:/var/jenkins_home \ # 将jenkins_home文件夹挂在到主机

-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai \ #设置jenkins运行环境时区

-d jenkins/jenkins:lts # -d 后台运行

8、拉取minio镜像

docker pull minio/minio # 拉取MinIO镜像

docker run -p 9000:9000 --name minio \ # run 运行容器 -p 将容器的9000,9000端口映射到主机的9000,9000端口 --name 容器运行的名

--restart=always \ # 挂断自动重新启动 -v /etc/localtime:/etc/localtime \ # 将主机本地时间夹挂在到容器

-v /data/minio/data:/data \ # 将data文件夹挂在到主机

-v /data/minio/config:/root/.minio \ # 将配置文件夹挂在到主机

-e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" \ # 设置MINIO_ACCESS_KEY的值

-e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \ # 设置MINIO_SECRET_KEY值

-d minio/minio server /data # -d 后台运行 server /data 导出/data目录

四、docker常用命令

请注意!!! --name 请用被操作的镜像名替换

启动服务

systemctl start docker

设为开机自动启动

systemctl enable docker

停止服务

systemctl stop docker

重启服务

systemctl restart docker

列出镜像

docker images

删除镜像

dockker rmi --name

-f  强制删除

列出容器

docker ps

启动容器

docker start --name

停止容器

docker stop --nam

重启容器

docker restart --name

删除容器

docker rm --name

查看容器情况

docker stats -a

查看docker磁盘使用情况

docker system df

进入docker容器内部的bash

docker exec -it --name  /bin/bash

复制文件到docker容器中

docker cp 主机文件 容器名称:容器路径

查看镜像日志

docker logs --name

删除容器

docker rm $(docker ps -a -q)

删除镜像

docker rmi $(docker images -a -q)

删除mysql|nginx|redis|jenkins非容器

docker rm -f `docker ps -a | grep -vE 'mysql|nginx|redis|jenkins' | awk '{print $1}'`

删除镜像none镜像

docker rmi -f `docker images | grep none | awk '{print $3}'`

转发标明出处

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值