1、docker daemon程序启动
使用docker时报上图错误
解决办法:
$ systemctl daemon-reload
$ sudo service docker restart
$ sudo service docker status (should see active (running))
$ sudo docker run hello-world
2、docker在网上查找images
命令如:docker search redis
3、查看容器列表
显示正在运行的容器:
[root@localhost HMK]# docker ps
显示所有容器,包括未运行的:
[root@localhost HMK]# docker ps -a
CONTAINER ID:容器的ID
IMAGE:启动容器使用的镜像
CREATED:创建时间
STATUS: 状态
PORTS:端口映射信息
NAMES:容器名称
4、使用tomcat镜像启动一个容器,并挂载宿主机中的/HMK/helloword/webapps/HelloWorld.war
[root@localhost helloword]# docker run -d -p 8080:8080 -v /HMK/helloword/webapps/HelloWorld.war:/usr/tomcat/webapps/HelloWorld.war --name hmk_tomcat jamtur01/tomcat
--name 将新启动的容器命名为tomcat
-p 将容器的8080端口映射到主机的8080端口
-v 将宿主机中当前目录下的test挂载到容器的/test
-d 将容器放到后台运行
5、进入容器内部
[root@localhost HMK]# docker exec -it hmk_tomcat /bin/bash
-i标志保证容器中STDIN是开启的,
-t表示为开启的容器分配一个伪tty终端
进入容器后可以查看容器内的文件内容以及挂载的目录
使用exit命令退出
6、使用docker port查看容器的端口映射情况
可以使用容器名称或容器ID
[root@localhost HMK]# docker port hmk_tomcat 8080 8080表示容器端口
[root@localhost HMK]# docker port 478b2a88c959130640a23f5a4b7e2c1091cc9b57fecf295502e0c60707ce7e53 8080
结果显示宿主机的映射端口
假如启动容器时,没有指定本地映射端口
[root@localhost HMK]# docker run -d -p 8080 --name test_tomcat jamtur01/tomcat
则会随机分配一个本地端口
7、docker启动mysql 数据持久化 挂载目录报错
可以查看启动容器log,命令sudo docker logs tu_mysql,或者查看系统日志 cat /var/log/messages
发现日志显示/var/lib/mysql没有权限,加上 --privileged=true就可以了
具体命令:sudo docker run -d --name tu_mysql -p 3306:3306 --privileged=true -v /homr/tzl/mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.5