docker命令讲解

docker search mysql --搜索镜像 docker pull docker.io/mysql --下载镜像 docker
images --查看下载的镜像 docker tag docker.io/mysql mysql8:new --给镜像加标签 docker
inspect d06c3c789716 --查看镜像的详细信息 docker rmi mysql8:new
–删除镜像,注意如果用容器使用这个镜像,先删除容器,再删除镜像

在已有的镜像上面添加新内容

docker run -ti docker.io/centos /bin/bash 先进入容器,记住容器的id
[root@localhost ~]# docker run -ti docker.io/centos /bin/bash
[root@fafd0c8100ce /]# [root@fafd0c8100ce /]# touch my.txt
[root@fafd0c8100ce /]# echo 1111111>my.txt bash: 1111111: Bad file descriptor
[root@fafd0c8100ce /]# echo “1111111”>my.txt
[root@fafd0c8100ce /]# [root@fafd0c8100ce /]# exit exit

在容器里面创建一个文件,并输入1111111

[root@localhost ~]# docker commit -m “create a new file” -a “dandh”
fafd0c8100ce centos:new
sha256:d7ed49fd9b7df6692ffff18c7bc21faa5509e425804d9dd441a0d3936d25e42a
[root@localhost ~]# docker images REPOSITORY TAG
IMAGE ID CREATED SIZE centos new
d7ed49fd9b7d 41 seconds ago 274 MB docker.io/mysql
latest d06c3c789716 28 hours ago 477 MB
docker.io/centos latest 1e1148e4cc2c 6 weeks
ago 202 MB 这里可以看出多了一个镜像,第一行,我们可以运行下容器看下,看下里面的文件还在不在
[root@localhost ~]# docker run -ti d7ed49fd9b7d /bin/bash
[root@15f188d20362 /]# ls anaconda-post.log bin dev etc home lib
lib64 media mnt my.txt opt proc root run sbin srv sys tmp
usr var [root@15f188d20362 /]# cat my.txt 1111111 [root@15f188d20362
/]# 这样看来没有问题

镜像的导入和导出

[root@localhost ~]# docker save -o mysql.tar docker.io/mysql:latest
[root@localhost ~]# ll 总用量 470748
-rw-------. 1 root root 1258 1月 22 17:26 anaconda-ks.cfg
-rw-------. 1 root root 482041344 1月 23 10:25 mysql.tar 我先删除mysql镜像,再从mysql.tar导入试下,记录镜像id [root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED
SIZE centos new d7ed49fd9b7d 17
minutes ago 274 MB docker.io/mysql latest
d06c3c789716 29 hours ago 477 MB docker.io/centos
latest 1e1148e4cc2c 6 weeks ago 202 MB
[root@localhost ~]# [root@localhost ~]# docker rmi d06c3c789716
Untagged: docker.io/mysql:latest Deleted:
sha256:d06c3c789716edfe9bf07bca224741bc61d096068753c57b2bf9ac9e6e37ce0c
Deleted:
sha256:32e2321f2dfd47d088f46a0162cf1349cd787a2b81e7623df191d67daf62afbb
Deleted:
sha256:7bcb817b23dcb5b87062cf2386413bc043a52c9b814ba82f748278243ece3df1
Deleted:
sha256:07048bf3471f3b68a7ad81f3bbc851165996c4ee639c12934198298b7e898dd3
Deleted:
sha256:6f8adf09b7c4323c8fc1c26887bab159688aa66543e951c3115c12601e821e67
Deleted:
sha256:b5b2c699cca2c5cc6adf56db40d0dce427099c69189daf267c7563ec27db8bf5
Deleted:
sha256:e4e5e2c13bfc19ea0b7931fe111b490026c943d49b9b0fc658134bc168f8f4f0
Deleted:
sha256:6cc2a43de520c5c2fb3308ecc23cb93e5ca4e40c2c5c781825572f1dcfc12010
Deleted:
sha256:41a87a1b83603cb4cbd7b95fe803ab3c37f5cf1fda058361a89108f5ae6f33cb
Deleted:
sha256:fb70646553d25ffeca12296dd9ef69cc6a61567d4636adf41c195ceaa7d91bba
Deleted:
sha256:044ab08434546e6569ed9ac43200e0c696c38751e1eb88748063256183beecf9
Deleted:
sha256:8de920f11cbdc968c39f60866eaea7e60b3f60e76fca76d585a11ee5a872322d
Deleted:
sha256:7b4e562e58dcb7fbe1e27bb274f0ff8bfeb2fd965203380436e159df9f218900
[root@localhost ~]# 导入镜像 [root@localhost ~]# docker load <mysql.tar
7b4e562e58dc: Loading layer
[>] 58.44 MB/58.44
MB f01f1a2037eb: Loading layer
[
>] 338.4 kB/338.4
kB b718c6b527ab: Loading layer
[>] 10.44 MB/10.44
MB 6680e06777c4: Loading layer
[
>] 4.471 MB/4.471
MB 047cc8a3632b: Loading layer
[>] 1.536 kB/1.536
kB 9c976f26b06d: Loading layer
[
>] 46.15 MB/46.15
MB 31c1ae796cfa: Loading layer
[>] 30.72 kB/30.72
kB fbe94c6b114f: Loading layer
[
>] 3.584 kB/3.584
kB 36ceffc9bf1e: Loading layer
[>] 362.1 MB/362.1
MB bfa4bad6b620: Loading layer
[
>] 5.632 kB/5.632
kB d8e5a8556c8a: Loading layer
[>] 9.728 kB/9.728
kB a41846c12aba: Loading layer
[
>] 1.536 kB/1.536
kB Loaded image: docker.io/mysql:latest [root@localhost ~]# docker
images REPOSITORY TAG IMAGE ID
CREATED SIZE centos new
d7ed49fd9b7d 21 minutes ago 274 MB docker.io/mysql
latest d06c3c789716 29 hours ago 477 MB
docker.io/centos latest 1e1148e4cc2c 6 weeks
ago 202 MB [root@localhost ~]# ok,完美实现镜像的导入和导出 docker push
–上传自己的镜像到仓库,要先登录仓库

2,容器

创建一个空的容器 docker create -ti centos:7 --创建容器
docker ps -a 查看所有容器
docker ps --正在运行的容器
docker logs 15f188d20362 --查看容器日志
docker stop 15f188d20362 --终止容器
docker start 15f188d20362 --启动容器
docker restart 15f188d20362 --重启容器
docker attach 183f23fe4772 --进入容器
docker rm dfc0cca8fe24 --删除容器
docker exec -ti 183f23fe4772 /bin/bash --进入容器
导入和导入容器 [root@localhost ~]# docker export 18 >centis.run.tar
[root@localhost ~]# ll 总用量 723696
-rw-------. 1 root root 1258 1月 22 17:26 anaconda-ks.cfg
-rw-r–r--. 1 root root 259016192 1月 23 11:10 centis.run.tar
-rw-------. 1 root root 482041344 1月 23 10:25 mysql.tar [root@localhost ~]# [root@localhost ~]# docker export 15

centis.stop.tar [root@localhost ~]# ll 总用量 976644
-rw-------. 1 root root 1258 1月 22 17:26 anaconda-ks.cfg
-rw-r–r--. 1 root root 259016192 1月 23 11:10 centis.run.tar
-rw-r–r--. 1 root root 259016192 1月 23 11:12 centis.stop.tar
-rw-------. 1 root root 482041344 1月 23 10:25 mysql.tar [root@localhost ~]# 导入容器 [root@localhost ~]# cat centis.stop.tar
|docker import - centos/7
sha256:0c99ed1dff937157e38a96bd955e9ed5ef26bc704296a84b5053902b499cda7c
[root@localhost ~]# docker images REPOSITORY TAG
IMAGE ID CREATED SIZE centos/7
latest 0c99ed1dff93 36 seconds ago 250 MB
centos new d7ed49fd9b7d About an
hour ago 274 MB docker.io/mysql latest d06c3c789716
29 hours ago 477 MB docker.io/centos 7
1e1148e4cc2c 6 weeks ago 202 MB docker.io/centos
latest 1e1148e4cc2c 6 weeks ago 202 MB
容器导入导出ok了

3,仓库
创建一个私有仓库
docker run -d -p 5000:5000 registry

4,数据管理

数据库卷的使用类似与linux的mount 先查看mysql镜像的信息
docker inspect docker.io/mysql:latest --查看到镜像里面mysql的data目录是/var/lib/mysql
先创建mysql的配置文件目录和数据目录
[root@localhost /]# mkdir /data
[root@localhost/]# mkdir /mysqlconf 启动mysql容器
[root@localhost /]# docker run -p 3306:3306 --name mysql8.0 -v /mysqlconf:/etc/mysql/conf.d -v
/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=654321 -d
d06c3c789716
48bfb6060a7e4178280873e24295aa7611e75ef4412f601d2c4830250a967a0e
[root@localhost /]# docker ps CONTAINER ID IMAGE
COMMAND CREATED STATUS PORTS
NAMES 48bfb6060a7e d06c3c789716 “docker-entrypoint…”
6 seconds ago Up 6 seconds 0.0.0.0:3306->3306/tcp,
33060/tcp mysql8.0 09e7e5bc28f0 registry
“/entrypoint.sh /e…” 41 minutes ago Up 41 minutes
0.0.0.0:5000->5000/tcp hungry_austin 183f23fe4772 d7ed49fd9b7d “/bin/bash” About an hour ago Up
About an hour
infallible_brattain [root@localhost /]# ls /mysqldata/ auto.cnf
binlog.000002 ca-key.pem client-cert.pem ib_buffer_pool
ib_logfile0 ibtmp1 mysql performance_schema
public_key.pem server-key.pem undo_001 binlog.000001 binlog.index
ca.pem client-key.pem ibdata1 ib_logfile1 #innodb_temp
mysql.ibd private_key.pem server-cert.pem sys
undo_002 进入容器 [root@localhost mysqldata]# docker exec -it 48bfb6060a7e
/bin/bash root@48bfb6060a7e:/# root@48bfb6060a7e:/# mysql -u root -p
Enter password: Welcome to the MySQL monitor. Commands end with ; or
\g. Your MySQL connection id is 8 Server version: 8.0.14 MySQL
Community Server - GPL

Copyright © 2000, 2019, Oracle and/or its affiliates. All rights
reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input
statement.

mysql> 授权外部链接 create database mydb default charset utf8; ok,测试没有问题
[root@localhost ~]# cd /mysqldata/ [root@localhost mysqldata]# ll 总用量
179196
-rw-r-----. 1 polkitd input 56 1月 23 11:58 auto.cnf
-rw-r-----. 1 polkitd input 3073845 1月 23 12:00 binlog.000001
-rw-r-----. 1 polkitd input 199 1月 23 12:07 binlog.000002
-rw-r-----. 1 polkitd input 359 1月 23 12:28 binlog.000003
-rw-r-----. 1 polkitd input 48 1月 23 12:07 binlog.index
-rw-------. 1 polkitd input 1680 1月 23 11:58 ca-key.pem
-rw-r–r--. 1 polkitd input 1112 1月 23 11:58 ca.pem
-rw-r–r--. 1 polkitd input 1112 1月 23 11:58 client-cert.pem
-rw-------. 1 polkitd input 1676 1月 23 11:58 client-key.pem
-rw-r-----. 1 polkitd input 5949 1月 23 12:00 ib_buffer_pool
-rw-r-----. 1 polkitd input 12582912 1月 23 12:28 ibdata1
-rw-r-----. 1 polkitd input 50331648 1月 23 12:28 ib_logfile0
-rw-r-----. 1 polkitd input 50331648 1月 23 11:56 ib_logfile1
-rw-r-----. 1 polkitd input 12582912 1月 23 12:02 ibtmp1 drwxr-x—. 2 polkitd input 187 1月 23 12:02 #innodb_temp drwxr-x—. 2 polkitd
input 6 1月 23 12:28 mydb drwxr-x—. 2 polkitd input 143
1月 23 11:58 mysql
-rw-r-----. 1 polkitd input 31457280 1月 23 12:28 mysql.ibd drwxr-x—. 2 polkitd input 4096 1月 23 11:58 performance_schema
-rw-------. 1 polkitd input 1680 1月 23 11:58 private_key.pem
-rw-r–r--. 1 polkitd input 452 1月 23 11:58 public_key.pem
-rw-r–r--. 1 polkitd input 1112 1月 23 11:58 server-cert.pem
-rw-------. 1 polkitd input 1680 1月 23 11:58 server-key.pem drwxr-x—. 2 polkitd input 28 1月 23 11:59 sys
-rw-r-----. 1 polkitd input 12582912 1月 23 12:02 undo_001
-rw-r-----. 1 polkitd input 10485760 1月 23 12:28 undo_002
更多教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值