docker镜像的使用及相关

参考网站docker中文网:http://www.docker.org.cn/book/docker/docker-push-image-13.html

1、搜索容器:
docker search tutorial

注意:镜像都是按照 “用户名/镜像名” 的方式进行存储的
2、下载容器:
docker pull learn/tutorial

3、查看已经下载的镜像信息(均可):
docker images
docker image ls

4、在一个容器中运行命令:
docker run IMAGE [COMMAND] [ARG...]
docker run learn/tutorial echo "hello world"
# 在容器中安装一个ping工具
docker run learn/tutorial apt-get install -y ping

5、在上面容器里安装了新的工具或软件,如果需要保存作为一个新的镜像,使用commit进行提交
(1)、需要得到你修改的容器的id号
docker ps -l # 得到最新创建的容器
docker container ls --all

(2)、将容器制作成镜像
docker commit container_id IMAGE_NAME
如:docker commit 4d9272df31c0 learn/ping

(3)、通过查看镜像,就会多了一个learn/ping镜像,这个镜像就可以直接使用了
docker run learn/ping ping www.baidu.com

6、检查运行中的镜像
docker ps
docker inspect container_id  #查看指定容器的详细信息

7、把自己创建的镜像发布到官网上,可供别人使用
docker push learn/ping
在这之前需要先登录自己的dockerhub帐号,使用docker login方式按照提示进行登录
在push自己的镜像之前,需要修改镜像名为规定的格式 xxxx/image_name:TAG
docker tag old:TAG theorydance/new:TAG 修改为自己的命名开头
比如我的推送:docker push theorydance/mysql:5.6

8、进入正在运行的docker容器
(1).docker attach container_id  #这种方式,所有人进入显示的信息是同步的,如果一个客户端阻塞,则所有的都会阻塞
(2).docker exec -it container_id /bin/bash # 该方式进行基本上最简单,注意:如果在里面把运行的进程杀掉,因为容器里没有运行的任何东西,就自动关闭了
(3).在创建容器的时候使用
docker run -itd learn/ping /bin/bash
(4).从容器里退出,不是输入exit
ctrl + D

9、镜像文件的编译执行:在网上找到镜像文件后,比如https://github.com/docker-library/mysql/blob/4af273a07854d7e4b68c5148b8e23b86aa8706e2/8.0/Dockerfile
将内容复制保存到一个名为Dockerfile的文件下,并放到一个目录下,然后命令行切换到该目录,执行以下命令即可:
docker image build -t theorydance/mysql:8.0 .

docker状态
service docker start
service docker status
service docker stop

 docker有很多命令使用,使用docker run --help方式可以进行查看

docker container --help等

docker --help

可以给docker容器设置固定IP:

1、需要创建一个自己的网络:

docker network create --subnet=172.18.0.0/16 mynet

2、在创建容器的时候,制定IP

docker run -itd --name test2 --network mynet --ip 172.18.0.2 centos bash

请参考博客:https://www.cnblogs.com/xuezhigu/p/8257129.html

3、如果在centos的docker容器中,出现systemctl不能用的情况,使用如下方式解决

docker run --privileged -dit centos /usr/sbin/init

 docker容器跨宿主机通信

https://blog.csdn.net/wo18237095579/article/details/83991893#_overlay_network_61
https://www.cnblogs.com/bigberg/p/8521542.html

原文地址:https://www.cnblogs.com/TheoryDance/p/10324136.html