Docker常用基本指令

本文详细介绍了Docker的常用基本指令,包括镜像的查看、下载、搜索、删除及备份还原,容器的创建、管理、文件拷贝以及挂载目录等,并提供了创建java、redis、mysql和tomcat容器的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、镜像相关指令

1、查看本地镜像仓库的镜像

docker images

2、下载镜像

docker pull 镜像名称 //最新版本

docker pull 镜像名称:版本标签

实操:

docker pull tomcat:8.5.57-jdk8-openjdk-slim

3、搜索镜像仓库

docker search 搜索关键字

4、删除镜像

docker rmi 镜像名称:版本标签 //如果是最新版镜像,版本标签可以忽略

要删除的镜像必须未创建容器

docker rmi tomcat:8.5.57-jdk8-openjdk-slim

5、把镜像转存为文件

docker save -o /root/tomcat.tar tomcat:8.5.57-jdk8-openjdk-slim

6、把镜像备份文件还原为镜像

docker load -i /root/tomcat.tar

二、容器相关指令

1、创建容器指令

docker run

(1)、创建一个java容器,执行一句话,打印一个 hello world!
docker run java:8 /bin/echo ‘Hello World!’

(2)、创建一个容器,进入到容器交互模式

-i   运行容器

-t    和容器交互

–name 给容器取名

docker run -it --name=c1 centos:centos7 /bin/bash

(3)、创建一个可以长期运行容器

  -d  守护容器,可以长期运行 

docker run -di --name=c2 centos:centos7

2、查看容器

docker ps //查看正在运行中容器

docker ps -a //查看全部容器

3、退出容器

exit

4、进入到正在运行中容器

docker exec -it c2 /bin/bash

5、停止容器

docker stop 容器名称 或者是容器编号

6、启动容器

docker start 容器名称 或者是容器编号

7、重启容器

docker restart 容器名称 或者是容器编号

8、强制停止容器

docker kill 容器名称 或者是容器编号

9、拷贝宿主机文件到容器

docker cp /root/new.txt c1:/root/qq.txt

10、把容器文件拷贝回宿主机

docker cp c1:/root/rongqi.txt /root/rongqi.txt

11、把宿主机目录,挂载到容器

docker run -di --name=c3 -v /root/www:/qqq centos:centos7 --privileged

// -v 挂载宿主机目录到容器目录

// --privileged 解决权限问题

12、删除容器

docker rm 容器名称 -f 删除正在运行容器

13、查看容器ip地址

docker inspect 容器名称

docker inspect --format=‘{{.NetworkSettings.IPAddress}}’

14、容器运行日志

docker logs 容器名称

docker logs --tail=10 容器名称 //查看最后行数内容

三、创建java常用容器

1、创建有一个jdk环境容器

(1)、拉取jdk镜像

  docker pull jdk:1.8

(2)、创建一个jdk容器

 docker run -di --name=j1 java:8

2、创建一个redis容器

(1)、拉取redis镜像

  docker pull redis:4.0.8

(2)、创建redis容器

docker run -di --name=redi1 -p 8888:6379  redis

// -p 端口转发指令 宿主机端口:容器端口

3、mysql容器创建

(1)、拉取mysql镜像

 docker pull mysql:5.7


(2)、创建mysql容器

docker run -di --name=mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=java111 mysql:5.7

-e MYSQL_ROOT_PASSWORD   设置root账号密码

-e MYSQL_DATABASE 创建容器的时候同时创建指定数据库

(3)、解决mysql容器中文乱码问题

 (1.1)、准备一个mysql配置文件

  [mysqld]

character-set-server=utf8
collation-server=utf8_general_ci
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
#By default we only accept connections from localhost
#bind-address = 127.0.0.1
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

(1.2)创建容器

docker run -di --name=mysql1 -p 3306:3306 -v /root/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf  -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=java111 mysql:5.7

(1.3)、创建容器、自动初始化建表、导入数据

docker run -di --name=mysql1 -p 3306:3306 -v /root/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /root/db.sql:/docker-entrypoint-initdb.d/db.sql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=java111 mysql:5.7

在容器:/docker-entrypoint-initdb.d 目录下sql会自动执行

4、创建一个tomcat的容器

docker run -di --name=tom1 -p 8080:8080 tomcat:8.5.57-jdk8-openjdk-slim

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值